NtRequestPort
NTSTATUS __stdcall NtRequestPort(PVOID PortHandle, _PORT_MESSAGE *RequestMessage){
int v4;
_ETHREAD *CurrentThread;
_ALPC_DISPATCH_CONTEXT result;
PVOID Object;
memset((INT64)&result, 0i64);
Object = 0i64;
v4 = ObReferenceObjectByHandle(
PortHandle,
1u,
AlpcPortObjectType,
*((_BYTE *)KeGetCurrentThread() + 562),
&Object,
0i64);
if( v4 >= 0 )
{
result.PortObject = (_ALPC_PORT *)Object;
result.Flags = 0x10000;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--*((_WORD *)CurrentThread + 242);
v4 = AlpcpSendMessage(&result, RequestMessage, 0i64, *((_BYTE *)KeGetCurrentThread() + 562));
KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
HalPutDmaAdapter((PADAPTER_OBJECT)Object);
}
return v4;
}Referenced by:
No references.