Compartir a través de


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

WDF_USB_PIPE_INFORMATION

WdfUsbInterfaceGetNumConfiguredPipes

WdfUsbTargetDeviceGetInterface

WdfUsbTargetDeviceSelectConfig