PiRebalanceOptOut

VOID __fastcall PiRebalanceOptOut(_DEVICE_NODE *DeviceNode){
  wchar_t *Buffer; 
  _DEVICE_OBJECT *PhysicalDeviceObject; 
  char v4; 
  int v5; 
  INT64 v6; 
  __int64 ResultLength[2]; 
  char PropertyBuffer[80]; 

  Buffer = DeviceNode->InstancePath.Buffer;
  v6 = 0i64;
  v5 = 0;
  v4 = 0;
  if( PnpGetObjectProperty(
         *(&stru_140CF2E80 + 1214),
         (INT64)Buffer,
         1i64,
         0i64,
         0i64,
         (INT64)&DEVPKEY_Device_DHP_Rebalance_Policy,
         (INT64)&v5,
         (INT64)&v6) < 0
    || v5 != 7
    || (_DWORD)v6 != 1 && (_DWORD)v6 != 2 )
  {
    PhysicalDeviceObject = DeviceNode->PhysicalDeviceObject;
    LODWORD(ResultLength[0]) = 0;
    if( IoGetDeviceProperty(PhysicalDeviceObject, 6, 0x4Eui64, PropertyBuffer, (UINT64 *)ResultLength) >= 0 )
      PnpGetObjectProperty(
        *(&stru_140CF2E80 + 1214),
        (INT64)PropertyBuffer,
        2i64,
        0i64,
        0i64,
        (INT64)&DEVPKEY_DeviceClass_DHPRebalanceOptOut,
        (INT64)&v5,
        (INT64)&v4);
  }
}

Referenced by:

PnpQueryStopDeviceNode