PnpSendIrp

__int64 __fastcall PnpSendIrp(
        _DEVICE_OBJECT *DeviceObject,
        _IO_STACK_LOCATION *TopStackLocation,
        __int64 a3,
        int (__fastcall *a4)(_DEVICE_OBJECT *, _IRP *, void *),
        UINT64 *Information){
  int v8; 
  unsigned int v9; 
  unsigned int v10; 
  _GROUP_AFFINITY PreviousAffinity; 

  PreviousAffinity = 0i64;
  v8 = PnpSetDeviceAffinityThread((__int64)DeviceObject, &PreviousAffinity);
  if( a4 )
    v9 = PnpAsynchronousCall(DeviceObject, (__int128 *)TopStackLocation, a4, Information);
  else
    v9 = IopSynchronousCall(DeviceObject, TopStackLocation, 3221225659i64, 0i64, Information);
  v10 = v9;
  if( v8 )
    KeRevertToUserGroupAffinityThread(&PreviousAffinity);
  return v10;
}

Referenced by:

PnpGetRelatedTargetDevice
PnpQueryDeviceRelations
PnpStartDevice