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