PiDcContainerRequiresConfiguration
INT64 __stdcall PiDcContainerRequiresConfiguration(PWSTR ContainerId){
int ObjectProperty;
int v4;
int v5;
ULONG v6;
ObjectProperty = 0;
v4 = 0;
v5 = 0;
v6 = 0;
if( wcscmp((PWCHAR)L"{00000000-0000-0000-0000-000000000000}", ContainerId) )
{
ObjectProperty = PnpGetObjectProperty(
PiPnpRtlCtx,
(__int64)ContainerId,
5i64,
0i64,
0i64,
(__int64)&DEVPKEY_DeviceContainer_ConfigFlags,
&v4,
(unsigned __int64)&v5,
4,
&v6,
0);
if( ObjectProperty < 0 || v4 != 7 || v5 != -1 )
{
ObjectProperty = PnpSetObjectProperty(
PiPnpRtlCtx,
(__int64)ContainerId,
5u,
0i64,
0i64,
(__int64)&DEVPKEY_DeviceContainer_ConfigFlags,
7,
(__int64)&unconfiguredConfigFlags,
4u,
0);
if( ObjectProperty >= 0 )
ZwUpdateWnfStateData();
}
}
return(unsigned int)ObjectProperty;
}Referenced by:
PiDcHandleCustomDeviceEvent
PiDcHandleDeviceEvent
PiDcHandleInterfaceEvent
PiDcHandleSystemFirmwareUpdate
PiDcUpdateDeviceContainerMembership