WmipCompleteGuidIrpWithError
VOID __stdcall WmipCompleteGuidIrpWithError(_WMIGUIDOBJECT *GuidObject){
__int64 v2;
_KLOCK_QUEUE_HANDLE LockHandle;
memset(&LockHandle, 0, sizeof(LockHandle));
KeAcquireInStackQueuedSpinLock((PKSPIN_LOCK)&ExBootDevicesRemovedEvent + 429, &LockHandle);
v2 = *((_QWORD *)GuidObject + 9);
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((PIRP)v2, 0);
}
}Referenced by:
WmipReceiveNotifications