CmCreateDeviceContainerWorker

NTSTATUS __stdcall CmCreateDeviceContainerWorker(
        HPNPCTX *hPnpCtx,
        WCHAR *DeviceContainerId,
        UINT64 DesiredAccess,
        VOID **DeviceContainerKey,
        UINT8 *Created,
        UINT64 Flags){
  int v9; 
  bool v10; 
  INT64 v12; 
  INT64 Create; 
  __int64 v14[3]; 

  LODWORD(v14[0]) = 0;
  if( (_WORD)Flags )
    return -1073741811;
  LOBYTE(Create) = 1;
  LODWORD(v12) = DesiredAccess;
  v9 = CmOpenDeviceContainerRegKey(
         hPnpCtx,
         DeviceContainerId,
         DesiredAccess,
         (INT64)DeviceContainerKey,
         v12,
         Create,
         DeviceContainerKey,
         (UINT64 *)v14);
  if( v9 >= 0 )
  {
    v10 = LODWORD(v14[0]) == 1;
    *Created = LODWORD(v14[0]) == 1;
    if( v10 )
      CmRaiseCreateEvent(hPnpCtx, DeviceContainerId, CM_OBJECT_TYPE_DEVICE_CONTAINER, *DeviceContainerKey);
  }
  return v9;
}

Referenced by:

CmCreateDeviceContainer