PnpSendIrp

NTSTATUS __stdcall PnpSendIrp(
        PDEVICE_OBJECT DeviceObject,
        PIO_STACK_LOCATION TopStackLocation,
        PVOID Information,
        PIO_COMPLETION_ROUTINE CompletionRoutine,
        PVOID CompletionContext){
  int v8; 
  NTSTATUS v9; 
  NTSTATUS v10; 
  struct _GROUP_AFFINITY PreviousAffinity; 
  PreviousAffinity = 0i64;
  v8 = PnpSetDeviceAffinityThread(DeviceObject, &PreviousAffinity);
  if( CompletionRoutine )
    v9 = PnpAsynchronousCall(DeviceObject, TopStackLocation, CompletionRoutine, CompletionContext);
  else
    v9 = IopSynchronousCall(DeviceObject, TopStackLocation, 3221225659i64, 0i64, (UINT64 *)CompletionContext);
  v10 = v9;
  if( v8 )
    KeRevertToUserGroupAffinityThread(&PreviousAffinity);
  return v10;
}

Referenced by:

PnpGetRelatedTargetDevice
PnpQueryDeviceRelations
PnpStartDevice