Функция WdfDeviceRetrieVeDeviceInterfaceString (wdfdevice.h)
[Применимо к KMDF и UMDF]
Метод WdfDeviceRetrieVeDeviceInterfaceString извлекает символьное имя ссылки, назначенное операционной системой интерфейсу устройства, зарегистрированному драйвером для указанного устройства.
Синтаксис
NTSTATUS WdfDeviceRetrieveDeviceInterfaceString(
[in] WDFDEVICE Device,
[in] const GUID *InterfaceClassGUID,
[in, optional] PCUNICODE_STRING ReferenceString,
[in] WDFSTRING String
);
Параметры
[in] Device
Дескриптор объекта устройства платформы.
[in] InterfaceClassGUID
Указатель на GUID, идентифицирующий класс интерфейса устройства.
[in, optional] ReferenceString
Указатель на структуру UNICODE_STRING , описывающую ссылочные строки для интерфейса устройства. Этот параметр является необязательным и может иметь значение NULL , если драйвер не указал ссылочной строки при вызове WdfDeviceCreateDeviceInterface.
[in] String
Дескриптор для объекта строки платформы. Платформа назначит строковую строку Юникода имени символьной ссылки строке объекта .
Возвращаемое значение
WdfDeviceRetrieVeDeviceInterfaceString возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае метод может вернуть одно из следующих значений:
Код возврата | Описание |
---|---|
|
WdfDeviceRetrieveDeviceInterfaceString не был вызван в IRQL = PASSIVE_LEVEL. |
|
Указан недопустимый параметр. |
|
Указанный объект устройства инициализирован WdfControlDeviceInitAllocate. |
|
Не удалось найти интерфейс устройства, соответствующий указанному GUID и ссылочной строке. |
|
Драйвер называется WdfDeviceCreateDeviceInterface, но система еще не назначила символьное имя ссылки интерфейсу устройства. |
WdfDeviceRetrieveDeviceInterfaceString также может возвращать другие значения NTSTATUS.
Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Комментарии
Дополнительные сведения об интерфейсах устройств см. в разделе Использование интерфейсов устройств.
Примеры
В следующем примере кода создается строковый объект, а затем извлекается символьное имя указанного интерфейса устройства.
NTSTATUS status;
WDFSTRING string;
status = WdfStringCreate(
NULL,
WDF_NO_OBJECT_ATTRIBUTES,
&string
);
if (NT_SUCCESS(status)) {
status = WdfDeviceRetrieveDeviceInterfaceString(
Device,
&GUID_DEVINTERFACE_DDI_TEST1,
NULL,
string
);
if (!NT_SUCCESS(status)) {
return status;
}
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |