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


Функция 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-ввода-вывода.

Примеры

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

USBD_CONFIGURATION_HANDLE deviceConfigHdl;

deviceConfigHdl = WdfUsbTargetDeviceWdmGetConfigurationHandle(UsbDevice);

Требования

Требование Ценность
целевая платформа Всеобщий
минимальная версия KMDF 1.0
заголовка wdfusb.h (include 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