PiDcContainerRequiresConfiguration
NTSTATUS __stdcall PiDcContainerRequiresConfiguration(WCHAR *ContainerId){
NTSTATUS ObjectProperty;
INT64 v4;
INT64 v5;
INT64 v6;
INT64 v7;
int v8;
ObjectProperty = 0;
LODWORD(v6) = 0;
LODWORD(v7) = 0;
v8 = 0;
if( wcscmp((PWCHAR)L"{00000000-0000-0000-0000-000000000000}", ContainerId) )
{
ObjectProperty = PnpGetObjectProperty(
*(&stru_140CF2E80 + 1214),
(INT64)ContainerId,
5i64,
0i64,
0i64,
(INT64)&DEVPKEY_DeviceContainer_ConfigFlags,
(INT64)&v6,
(INT64)&v7);
if( ObjectProperty < 0 || (_DWORD)v6 != 7 || (_DWORD)v7 != -1 )
{
ObjectProperty = PnpSetObjectProperty(
*(&stru_140CF2E80 + 607),
(INT64)ContainerId,
5u,
0i64,
0i64,
(__int64)&DEVPKEY_DeviceContainer_ConfigFlags,
7,
(__int64)&unconfiguredConfigFlags,
4,
0);
if( ObjectProperty >= 0 )
{
LODWORD(v5) = 0;
LODWORD(v4) = 0;
ZwUpdateWnfStateData(&WNF_PNPC_CONTAINER_CONFIG_REQUESTED, 0i64, 0i64, 0i64, 0i64, v4, v5);
}
}
}
return ObjectProperty;
}Referenced by:
PiDcHandleCustomDeviceEvent
PiDcHandleDeviceEvent
PiDcHandleInterfaceEvent
PiDcHandleSystemFirmwareUpdate
PiDcUpdateDeviceContainerMembership