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