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


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

Функция CM_Get_Device_Interface_Alias возвращает псевдоним указанного экземпляра интерфейса устройства, если псевдоним существует.

Синтаксис

CMAPI CONFIGRET CM_Get_Device_Interface_AliasA(
  [in]      LPCSTR pszDeviceInterface,
  [in]      LPGUID AliasInterfaceGuid,
  [out]     LPSTR  pszAliasDeviceInterface,
  [in, out] PULONG pulLength,
  [in]      ULONG  ulFlags
);

Параметры

[in] pszDeviceInterface

Указатель на имя экземпляра интерфейса устройства, для которого требуется получить псевдоним. Вызывающий объект обычно получает эту строку из вызова CM_Get_Device_Interface_List или в структуре уведомлений PnP.

[in] AliasInterfaceGuid

Указатель на GUID, указывающий класс интерфейса извлекаемого псевдонима.

[out] pszAliasDeviceInterface

Указывает указатель на буфер, который при успешном возвращении указывает на строку, содержащую имя псевдонима. Вызывающий объект должен освободить эту строку, когда она больше не нужна.

Требуется буфер. В противном случае вызов завершится ошибкой.

[in, out] pulLength

Предоставляет количество символов в pszAliasDeviceInterface и получает количество символов, необходимое для хранения интерфейса псевдонима устройства.

Во входных данных этот параметр должен быть больше 0.

[in] ulFlags

Зарезервировано. Не используется.

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

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

Код возврата Описание
CR_NO_SUCH_DEVICE_INTERFACE
Возможно, указывает на отсутствие псевдонима указанного класса интерфейса.
CR_OUT_OF_MEMORY
Недостаточно памяти для выполнения запроса.
CR_BUFFER_SMALL
Переданный буфер слишком мал.

Комментарии

Интерфейсы устройств считаются псевдонимами, если они предоставляются одним и тем же базовым устройством и имеют одинаковые строки ссылок на интерфейс, но имеют разные классы интерфейсов.

Параметр pszDeviceInterface указывает экземпляр интерфейса устройства для определенного устройства, принадлежащий определенному классу интерфейса, с определенной ссылочной строкой. CM_Get_Device_Interface_Alias возвращает другой экземпляр интерфейса устройства для того же устройства и ссылочной строки, но другого класса интерфейса, если он существует.

Например, драйвер функции для отказоустойчивого тома может зарегистрировать и задать два интерфейса устройства: один из классов интерфейса отказоустойчивого тома и один из классов интерфейса тома. Другой драйвер может вызвать CM_Get_Device_Interface_Alias с символьной ссылкой для одного из интерфейсов и спросить, существует ли другой интерфейс, указав его класс интерфейса.

Два интерфейса устройства со ссылочными строками NULL являются псевдонимами, если они предоставляются тем же базовым устройством и имеют разные идентификаторы GUID класса интерфейса.

Требования

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