Функция 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) |