NtAlpcDisconnectPort
VOID __stdcall NtAlpcDisconnectPort(PVOID PortHandle, UINT64 Flags){
_ETHREAD *CurrentThread;
CHAR v3;
PADAPTER_OBJECT DmaAdapter;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v3 = Flags;
--*((_WORD *)CurrentThread + 242);
if( (Flags & 0xFFFFFFFE) == 0 )
{
DmaAdapter = 0i64;
if( ObReferenceObjectByHandle(
PortHandle,
1u,
AlpcPortObjectType,
*((_BYTE *)KeGetCurrentThread() + 562),
(PVOID *)&DmaAdapter,
0i64) >= 0 )
{
AlpcpDisconnectPort((INT64)DmaAdapter, v3);
HalPutDmaAdapter(DmaAdapter);
}
}
KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
}Referenced by:
No references.