Поделиться через


функция CM_Add_Empty_Log_Conf (cfgmgr32.h)

Функция CM_Add_Empty_Log_Conf создает пустую логическую конфигурацию для указанного типа конфигурации и указанного экземпляра устройства на локальном компьютере.

Синтаксис

CMAPI CONFIGRET CM_Add_Empty_Log_Conf(
  [out] PLOG_CONF plcLogConf,
  [in]  DEVINST   dnDevInst,
  [in]  PRIORITY  Priority,
  [in]  ULONG     ulFlags
);

Параметры

[out] plcLogConf

Адрес расположения для получения дескриптора пустой логической конфигурации.

[in] dnDevInst

Дескриптор экземпляра устройства, предоставленный вызывающим абонентом, привязанный к локальному компьютеру.

[in] Priority

Значение приоритета конфигурации, предоставленное вызывающим абонентом. Это должно быть одно из значений констант, перечисленных в следующей таблице. Константы перечислены в порядке приоритета, от самого высокого к самому низкому. (Для нескольких конфигураций с одним и тем же значением ulFlags система сначала попытается использовать конфигурацию с наивысшим приоритетом.)

Константа приоритета Определение
LCPRI_FORCECONFIG Результат принудительной настройки.
LCPRI_BOOTCONFIG Результат конфигурации загрузки.
LCPRI_DESIRED Предпочтительная конфигурация (более высокая производительность).
LCPRI_NORMAL Рабочая конфигурация (допустимая производительность).
LCPRI_LASTBESTCONFIG Только для внутреннего использования.
LCPRI_SUBOPTIMAL Недопустимая конфигурация, но она будет работать.
LCPRI_LASTSOFTCONFIG Только для внутреннего использования.
LCPRI_RESTART Система должна быть перезапущена
LCPRI_REBOOT Система должна быть перезапущена (как и LCPRI_RESTART).
LCPRI_POWEROFF Система должна быть выключена и выключена.
LCPRI_HARDRECONFIG Перемычку необходимо изменить.
LCPRI_HARDWIRED Изменить конфигурацию невозможно.
LCPRI_IMPOSSIBLE Конфигурация не может существовать.
LCPRI_DISABLED Отключенная конфигурация.

[in] ulFlags

Флаги, предоставляемые вызывающим абонентом, указывающие тип логической конфигурации. Необходимо указать один из следующих флагов.

Флаги типов конфигурации Определения
BASIC_LOG_CONF Дескрипторы ресурсов, добавленные в эту конфигурацию, описывают базовую конфигурацию.
FILTERED_LOG_CONF Не используйте. (Только диспетчер PnP может создать отфильтрованную конфигурацию.)
ALLOC_LOG_CONF Не используйте. (Только диспетчер PnP может создать выделенную конфигурацию.)
BOOT_LOG_CONF Дескрипторы ресурсов, добавленные в эту конфигурацию, описывают конфигурацию загрузки.
FORCED_LOG_CONF Дескрипторы ресурсов, добавленные в эту конфигурацию, описывают принудительную конфигурацию.
OVERRIDE_LOG_CONF Дескрипторы ресурсов, добавленные в эту конфигурацию, описывают конфигурацию переопределения.
 

Один из следующих битовых флагов может быть ORed с флагом типа конфигурации.

Флаги сравнения приоритетов Определения
PRIORITY_EQUAL_FIRST Если несколько конфигураций одного типа (ulFlags) имеют одинаковый приоритет (приоритет), эта конфигурация помещается в начало списка.
PRIORITY_EQUAL_LAST (По умолчанию) Если несколько конфигураций одного типа (ulFlags) имеют одинаковый приоритет (приоритет), эта конфигурация помещается в конце списка.

Возвращаемое значение

Если операция выполнена успешно, функция возвращает CR_SUCCESS. В противном случае возвращается один из кодов ошибок с префиксом CR_, определенных в Cfgmgr32.h.

Примечание Начиная с Windows 8, CM_Add_Empty_Log_Conf возвращает CR_CALL_NOT_IMPLEMENTED при использовании в сценарии Wow64. Чтобы запросить сведения об аппаратных ресурсах на локальном компьютере, необходимо реализовать версию приложения на основе архитектуры с помощью API аппаратных ресурсов. Например: приложение AMD64 для систем AMD64.
 

Комментарии

Вызов CM_Add_Empty_Log_Conf может привести к тому, что дескрипторы, возвращаемые CM_Get_First_Log_Conf и CM_Get_Next_Log_Conf , станут недопустимыми. Таким образом, если вы хотите получить логические конфигурации после вызова CM_Add_Empty_Log_Conf, код должен снова вызвать CM_Get_First_Log_Conf и начать с первой конфигурации.

Чтобы удалить логическую конфигурацию, созданную CM_Add_Empty_Log_Conf, вызовите CM_Free_Log_Conf.

Дескриптор, полученный в plcLogConf , должен быть явно освобожден путем вызова CM_Free_Log_Conf_Handle.

У вызывающих объектов этой функции должен быть SeLoadDriverPrivilege. (Привилегии описаны в документации по Microsoft Windows SDK.)

Сведения об использовании дескрипторов экземпляров устройства, привязанных к локальному компьютеру, см. в разделе CM_Get_Child.

Требования

Требование Значение
Минимальная версия клиента Доступно в Microsoft Windows 2000 и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть cfgmgr32.h (включая Cfgmgr32.h)
Библиотека Cfgmgr32.lib
DLL Cfgmgr32.dll

См. также раздел

CM_Add_Empty_Log_Conf_Ex

CM_Free_Log_Conf

CM_Free_Log_Conf_Handle

CM_Get_Child

CM_Get_First_Log_Conf

CM_Get_Next_Log_Conf