PnpDeviceCompletionQueueGetCompletedRequest
_LIST_ENTRY *PnpDeviceCompletionQueueGetCompletedRequest(){
unsigned __int8 v0;
__int64 v1;
unsigned __int64 v2;
__int64 v3;
KeWaitForSingleObject((UINT64)&PnpReplaceEvent + 5960, 0, 0, 0, 0i64);
v0 = KeAcquireSpinLockRaiseToDpc((UINT64 *)&PnpReplaceEvent + 749);
v1 = *(&PnpReplaceEvent + 743);
v2 = v0;
v3 = **(&PnpReplaceEvent + 743);
if( *(_UNKNOWN **)(*(&PnpReplaceEvent + 743) + 8i64) != (_UNKNOWN *)((char *)&PnpReplaceEvent + 5944)
|| *(_QWORD *)(v3 + 8) != *(&PnpReplaceEvent + 743) )
{
__fastfail(3u);
}
*(&PnpReplaceEvent + 743) = **(&PnpReplaceEvent + 743);
*(_QWORD *)(v3 + 8) = (char *)&PnpReplaceEvent + 5944;
KxReleaseSpinLock((UINT64 *)&PnpReplaceEvent + 749);
__writecr8(v2);
return(_LIST_ENTRY *)v1;
}Referenced by:
PnpDeviceCompletionProcessCompletedRequests