Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция SetupDiGetDeviceInterfaceAlias возвращает псевдоним указанного интерфейса устройства.
Синтаксис
WINSETUPAPI BOOL SetupDiGetDeviceInterfaceAlias(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[in] const GUID *AliasInterfaceClassGuid,
[out] PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData
);
Параметры
[in] DeviceInfoSet
Указатель на набор сведений об устройстве , содержащий интерфейс устройства, для которого требуется получить псевдоним. Этот дескриптор обычно возвращается SetupDiGetClassDevs.
[in] DeviceInterfaceData
Указатель на структуру SP_DEVICE_INTERFACE_DATA , указывающую интерфейс устройства в DeviceInfoSet , для которого требуется получить псевдоним. Этот указатель обычно возвращается программой SetupDiEnumDeviceInterfaces.
[in] AliasInterfaceClassGuid
Указатель на GUID, указывающий класс интерфейса извлекаемого псевдонима.
[out] AliasDeviceInterfaceData
Указатель на буфер, выделенный вызывающим объектом, который содержит завершенную структуру SP_DEVICE_INTERFACE_DATA , идентифицирующая запрошенный псевдоним. Перед вызовом этой функции вызывающий объект должен задать для AliasDeviceInterfaceData.cbSizeзначение sizeof(SP_DEVICE_INTERFACE_DATA).
Возвращаемое значение
SetupDiGetDeviceInterfaceAlias возвращает значение TRUE , если функция завершена без ошибок. Если функция завершилась ошибкой, возвращается значение FALSE , а код ошибки для сбоя можно получить, вызвав Метод GetLastError.
Возможные ошибки, возвращаемые GetLastError , перечислены в следующей таблице.
| Код возврата | Описание |
|---|---|
|
Недопустимый параметр DeviceInfoSet или недопустимый параметр DeviceInterfaceData. |
|
Псевдоним класса AliasInterfaceClassGuid для указанного интерфейса устройства отсутствует. |
|
Недопустимый буфер AliasDeviceInterfaceData. |
Комментарии
Интерфейсы устройств считаются псевдонимами, если они относятся к разным классам интерфейсов, но поддерживаются одним и тем же устройством и имеют одинаковые ссылочные строки.
SetupDiGetDeviceInterfaceAlias можно использовать для поиска устройства, которое предоставляет несколько интерфейсов. Например, рассмотрим диск, который может быть частью отказоустойчивого тома и может содержать зашифрованные данные. Драйвер функции для дискового устройства может зарегистрировать интерфейс отказоустойчивого тома и интерфейс зашифрованного тома. Эти интерфейсы являются псевдонимами интерфейса устройства, если драйвер функции регистрирует их с идентичными ссылочными строками и ссылается на одно и то же устройство. (Ссылочные строки, скорее всего, будут иметь значение NULL и, следовательно, равны.)
Чтобы найти такое устройство с несколькими интерфейсами, сначала найдите все доступные устройства, предоставляющие один из интерфейсов, например интерфейс отказоустойчивого тома, с помощью SetupDiGetClassDevs и SetupDiEnumDeviceInterfaces. Затем передайте устройство с первым интерфейсом (отказоустойчивый том) в SetupDiGetDeviceInterfaceAlias и запросите псевдоним другого класса интерфейса (зашифрованный том).
Если запрошенный псевдоним существует, но предоставленный вызывающей стороны буфер AliasDeviceInterfaceData недопустим, эта функция успешно добавляет элемент интерфейса устройства в DevInfoSet , но возвращает значение FALSE для возвращаемого значения. В этом случае GetLastError возвращает ERROR_INVALID_USER_BUFFER.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
| Целевая платформа | Персональный компьютер |
| Верхняя часть | setupapi.h (включая Setupapi.h) |
| Библиотека | Setupapi.lib |
| DLL | Setupapi.dll |