Функция WdfUsbTargetDeviceWdmGetConfigurationHandle (wdfusb.h)

[Относится только к KMDF]

Метод WdfUsbTargetDeviceWdmGetConfigurationHandle возвращает дескриптор типа USBD_CONFIGURATION_HANDLE, связанный с текущей конфигурацией указанного USB-устройства.

Синтаксис

USBD_CONFIGURATION_HANDLE WdfUsbTargetDeviceWdmGetConfigurationHandle(
  [in] WDFUSBDEVICE UsbDevice
);

Параметры

[in] UsbDevice

Дескриптор объекта USB-устройства, полученный при предыдущем вызове WdfUsbTargetDeviceCreateWithParameters.

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

Если драйвер выбрал конфигурацию для устройства, WdfUsbTargetDeviceWdmGetConfigurationHandle возвращает USBD_CONFIGURATION_HANDLE типизированный дескриптор устройства. В противном случае метод возвращает значение NULL.

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Комментарии

Драйвер на основе платформы должен получить USBD_CONFIGURATION_HANDLE типизированный дескриптор только в том случае, если он создает URB , содержащий структуру _URB_SELECT_INTERFACE .

Драйвер может вызвать WdfUsbTargetDeviceWdmGetConfigurationHandle после вызова WdfUsbTargetDeviceSelectConfig. Дескриптор типа USBD_CONFIGURATION_HANDLE, возвращаемый WdfUsbTargetDeviceWdmGetConfigurationHandle , действителен до тех пор, пока драйвер не вызовет WdfUsbTargetDeviceSelectConfig или объект USB-устройства не будет удален. Если драйвер предоставляет функцию EvtCleanupCallback для объекта USB-устройства и если объект удаляется до того, как драйвер снова вызовет WdfUsbTargetDeviceSelectConfig , дескриптор действителен до тех пор, пока функция EvtCleanupCallback объекта не вернется.

Дополнительные сведения о методе WdfUsbTargetDeviceWdmGetConfigurationHandle и целевых объектах USB-ввода-вывода см. в разделе Usb I/O Targets.

Примеры

В следующем примере кода получается дескриптор текущей конфигурации указанного USB-устройства.

USBD_CONFIGURATION_HANDLE deviceConfigHdl;

deviceConfigHdl = WdfUsbTargetDeviceWdmGetConfigurationHandle(UsbDevice);

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfusb.h (включая Wdfusb.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки Платформы).
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf)

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

URB

WdfUsbTargetDeviceSelectConfig

_URB_SELECT_INTERFACE