IopQueryReconfiguration

INT64 __stdcall IopQueryReconfiguration(UINT8 Request, DEVICE_OBJECT *DeviceObject){
  __int64 v4; 
  INT64 v5; 
  bool v6; 
  _BYTE result[88]; 
  v4 = *(_QWORD *)(*((_QWORD *)DeviceObject + 39) + 40i64);
  if( Request == 4 )
  {
    v6 = *(_DWORD *)(v4 + 300) == 777;
  }
  else
  {
    if( Request != 5 )
    {
      if( Request == 6 && (unsigned int)(*(_DWORD *)(v4 + 300) - 776) <= 1 )
        goto LABEL_5;
      return 3221225473i64;
    }
    v6 = *(_DWORD *)(v4 + 300) == 776;
  }
  if( v6 )
  {
LABEL_5:
    memset((INT64)result, 0i64);
    result[0] = 27;
    result[1] = Request;
    LODWORD(v5) = IopSynchronousCall(DeviceObject, (IO_STACK_LOCATION *)result, 3221225659i64, 0i64, 0i64);
    return v5;
  }
  return 3221225473i64;
}

Referenced by:

PnpCancelStopDeviceNode
PnpQueryStopDeviceNode
PnpStopDeviceSubtree