Функция WdfUsbTargetPipeWdmGetPipeHandle (wdfusb.h)
[Применимо только к KMDF]
Метод WdfUsbTargetPipeWdmGetPipeHandle возвращает дескриптор типа USBD_PIPE_HANDLE, связанный с указанным объектом канала платформы.
Синтаксис
USBD_PIPE_HANDLE WdfUsbTargetPipeWdmGetPipeHandle(
[in] WDFUSBPIPE UsbPipe
);
Параметры
[in] UsbPipe
Дескриптор объекта канала платформы, полученный путем вызова WdfUsbInterfaceGetConfiguredPipe.
Возвращаемое значение
WdfUsbTargetPipeWdmGetPipeHandle возвращает дескриптор типа USBD_PIPE_HANDLE.
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Замечания
Драйвер на основе платформы должен получить дескриптор типа USBD_PIPE_HANDLE, только если он создает URB, для работы с которым требуется дескриптор канала.
Драйвер может вызвать метод WdfUsbTargetPipeWdmGetPipeHand le после вызова WdfUsbTargetDeviceSelectConfig. Дескриптор USBD_PIPE_HANDLE типа, который WdfUsbTargetPipeGetPipeHandle возвращается, пока драйвер не вызывает WdfUsbTargetDeviceSelectConfig, драйвер вызывает WdfUsbInterfaceSelectSettingили объект канала платформы. Если драйвер предоставляет функцию EvtCleanupCallback для объекта канала платформы и если объект удаляется перед вызовом драйвера WdfUsbTargetDeviceSelectConfig или вызывает WdfUsbInterfaceSelectSetting, дескриптор действителен до тех пор, пока функция EvtCleanupCallback.
Дополнительные сведения о методе WdfUsbTargetPipeWdmGetPipeHandle и целевых объектов USB-ввода-вывода см. в целевых объектов USB-ввода-вывода.
Примеры
Следующий пример кода получает дескриптор типа USBD_PIPE_HANDLE для указанного канала.
USBD_PIPE_HANDLE usbdPipeHandle;
usbdPipeHandle = WdfUsbTargetPipeWdmGetPipeHandle(UsbPipe);
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
минимальная версия 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) |