Функция WdfUsbInterfaceGetConfiguredPipe (wdfusb.h)
[Применимо к KMDF и UMDF]
Метод WdfUsbInterfaceGetConfiguredPipe возвращает дескриптор объекту канала платформы, связанному с указанным интерфейсом USB-устройства и индексом канала. При необходимости метод также возвращает сведения о канале.
Синтаксис
WDFUSBPIPE WdfUsbInterfaceGetConfiguredPipe(
[in] WDFUSBINTERFACE UsbInterface,
[in] UCHAR PipeIndex,
[in, out, optional] PWDF_USB_PIPE_INFORMATION PipeInfo
);
Параметры
[in] UsbInterface
Дескриптор объекта интерфейса USB, полученный путем вызова WdfUsbTargetDeviceGetInterface.
[in] PipeIndex
Отсчитываемый от нуля индекс набора объектов конвейера платформы, связанных с указанным объектом интерфейса.
[in, out, optional] PipeInfo
Указатель на структуру, выделенную вызывающим объектом WDF_USB_PIPE_INFORMATION , заполняемую платформой. Этот параметр является необязательным и может иметь значение NULL.
Возвращаемое значение
Если операция выполнена успешно, WdfUsbInterfaceGetConfiguredPipe возвращает дескриптор для объекта канала платформы, связанного с указанным объектом интерфейса и индексом канала. Метод возвращает значение NULL , если размер структуры WDF_USB_PIPE_INFORMATION неверный или значение индекса канала слишком велико.
Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Комментарии
Драйвер может вызывать WdfUsbInterfaceGetConfiguredPipe после вызова WdfUsbTargetDeviceSelectConfig.
Дополнительные сведения о методе WdfUsbInterfaceGetConfiguredPipe и целевых объектах USB-ввода-вывода см. в разделе Usb I/O Targets.
Примеры
В следующем примере кода отправляется запрос прерывания USB в каждый настроенный канал указанного ИНТЕРФЕЙСА USB.
BYTE count, i;
NTSTATUS status;
count = WdfUsbInterfaceGetNumConfiguredPipes(UsbInterface);
for (i = 0; i < count; i++) {
WDFUSBPIPE pipe;
pipe = WdfUsbInterfaceGetConfiguredPipe(
UsbInterface,
i,
NULL
);
status = WdfUsbTargetPipeAbortSynchronously(
pipe,
WDF_NO_HANDLE,
NULL
);
if (!NT_SUCCESS(status)) {
break;
}
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfusb.h (включая Wdfusb.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |
См. также раздел
WdfUsbInterfaceGetNumConfiguredPipes