Función WdfUsbInterfaceGetConfiguredPipe (wdfusb.h)
[Se aplica a KMDF y UMDF]
El método WdfUsbInterfaceGetConfiguredPipe devuelve un identificador al objeto de canalización del marco asociado a una interfaz de dispositivo USB y un índice de canalización especificados. Opcionalmente, el método también devuelve información sobre la canalización.
Sintaxis
WDFUSBPIPE WdfUsbInterfaceGetConfiguredPipe(
[in] WDFUSBINTERFACE UsbInterface,
[in] UCHAR PipeIndex,
[in, out, optional] PWDF_USB_PIPE_INFORMATION PipeInfo
);
Parámetros
[in] UsbInterface
Identificador de un objeto de interfaz USB obtenido mediante una llamada a WdfUsbTargetDeviceGetInterface.
[in] PipeIndex
Índice de base cero en el conjunto de objetos de canalización de marco asociados al objeto de interfaz especificado.
[in, out, optional] PipeInfo
Puntero a una estructura de WDF_USB_PIPE_INFORMATION asignada por el autor de la llamada que el marco rellena. Este parámetro es opcional y puede ser NULL.
Valor devuelto
Si la operación se realiza correctamente, WdfUsbInterfaceGetConfiguredPipe devuelve un identificador al objeto de canalización de marco asociado al objeto de interfaz y al índice de canalización especificados. El método devuelve NULL si el tamaño de la estructura WDF_USB_PIPE_INFORMATION es incorrecto o si el valor del índice de canalización es demasiado grande.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Comentarios
El controlador puede llamar a WdfUsbInterfaceGetConfiguredPipe después de llamar a WdfUsbTargetDeviceSelectConfig.
Para obtener más información sobre el método WdfUsbInterfaceGetConfiguredPipe y los destinos de E/S USB, consulte Destinos de E/S USB.
Ejemplos
En el ejemplo de código siguiente se envía una solicitud de anulación USB a cada canalización configurada de una interfaz USB especificada.
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;
}
}
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfusb.h (incluya Wdfusb.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |
Consulte también
WdfUsbInterfaceGetNumConfiguredPipes