PnpDeviceCompletionProcessCompletedRequests
NTSTATUS __stdcall PnpDeviceCompletionProcessCompletedRequests(UINT64 All, UINT64 Wait, UINT64 *Completed){
int v4;
int v5;
NTSTATUS v6;
INT64 CompletedRequest;
int v9;
_PNP_DEVICE_COMPLETION_QUEUE *v10;
*(_BYTE *)Completed = 0;
v4 = Wait;
v5 = All;
v6 = 0;
if( !(unsigned int)PnpDeviceCompletionQueueIsEmpty((_PNP_DEVICE_COMPLETION_QUEUE *)All) )
{
do
{
if( !Semaphore.Header.SignalState && (!v4 || !v5 && *(_BYTE *)Completed) )
break;
CompletedRequest = PnpDeviceCompletionQueueGetCompletedRequest();
v9 = PnpDeviceCompletionProcessCompletedRequest(CompletedRequest);
*(_BYTE *)Completed = 1;
if( v9 == -1073741106 )
v6 = -1073741106;
}
while( !(unsigned int)PnpDeviceCompletionQueueIsEmpty(v10) );
}
return v6;
}Referenced by:
PipProcessDevNodeTree