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


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

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

URB

WdfUsbInterfaceGetConfiguredPipe

WdfUsbTargetDeviceSelectConfig