WmipCompleteGuidIrpWithError
VOID __fastcall WmipCompleteGuidIrpWithError(INT64 a1){
__int64 v2;
struct _KLOCK_QUEUE_HANDLE LockHandle;
memset(&LockHandle, 0, sizeof(LockHandle));
KeAcquireInStackQueuedSpinLock(&WmipCancelSpinLock, &LockHandle);
v2 = *(_QWORD *)(a1 + 72);
if( v2 )
{
WmipClearIrpObjectList((IRP *)v2);
v2 &= -(__int64)(_InterlockedExchange64((volatile __int64 *)(v2 + 104), 0i64) != 0);
}
KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
__writecr8(LockHandle.OldIrql);
if( v2 )
{
*(_DWORD *)(v2 + 48) = -1073741816;
IofCompleteRequest((_IRP *)v2, 0);
}
}Referenced by:
WmipReceiveNotifications