Функция 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 , которому требуется дескриптор конвейера.
Драйвер может вызвать метод WdfUsbTargetPipeWdmGetPipeHandle после вызова WdfUsbTargetDeviceSelectConfig. Дескриптор типа USBD_PIPE_HANDLE, возвращаемый WdfUsbTargetPipeWdmGetPipeHandle , действителен до тех пор, пока драйвер снова не вызовет WdfUsbTargetDeviceSelectConfig , драйвер не вызовет WdfUsbInterfaceSelectSetting или не будет удален объект конвейера платформы. Если драйвер предоставляет функцию EvtCleanupCallback для объекта канала платформы и если объект удаляется до того, как драйвер снова вызовет WdfUsbTargetDeviceSelectConfig или вызывает WdfUsbInterfaceSelectSetting, дескриптор будет действителен до тех пор, пока функция EvtCleanupCallback объекта не вернется.
Дополнительные сведения о методе WdfUsbTargetPipeWdmGetPipeHandle и целевых объектах ввода-вывода USB см. в разделе Usb I/O Targets.
Примеры
В следующем примере кода получается USBD_PIPE_HANDLE типизированный дескриптор для указанного канала.
USBD_PIPE_HANDLE usbdPipeHandle;
usbdPipeHandle = WdfUsbTargetPipeWdmGetPipeHandle(UsbPipe);
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия 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) |