Freigeben über


WdfUsbInterfaceGetConfiguredPipe-Funktion (wdfusb.h)

[Gilt für KMDF und UMDF]

Die WdfUsbInterfaceGetConfiguredPipe- Methode gibt ein Handle an das Framework-Pipeobjekt zurück, das einer angegebenen USB-Geräteschnittstelle und einem Pipeindex zugeordnet ist. Optional gibt die Methode auch Informationen zur Pipe zurück.

Syntax

WDFUSBPIPE WdfUsbInterfaceGetConfiguredPipe(
  [in]                WDFUSBINTERFACE           UsbInterface,
  [in]                UCHAR                     PipeIndex,
  [in, out, optional] PWDF_USB_PIPE_INFORMATION PipeInfo
);

Parameter

[in] UsbInterface

Ein Handle für ein USB-Schnittstellenobjekt, das durch Aufrufen WdfUsbTargetDeviceGetInterfaceabgerufen wurde.

[in] PipeIndex

Ein nullbasierter Index in der Gruppe von Framework-Pipeobjekten, die dem angegebenen Schnittstellenobjekt zugeordnet sind.

[in, out, optional] PipeInfo

Ein Zeiger auf eine vom Aufrufer zugewiesene WDF_USB_PIPE_INFORMATION Struktur, die das Framework ausfüllt. Dieser Parameter ist optional und kann NULL-werden.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt WdfUsbInterfaceGetConfiguredPipe ein Handle an das Framework-Pipeobjekt zurück, das dem angegebenen Schnittstellenobjekt und dem Pipeindex zugeordnet ist. Die Methode gibt NULL- zurück, wenn die Größe der WDF_USB_PIPE_INFORMATION Struktur falsch ist oder der Rohrindexwert zu groß ist.

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Bemerkungen

Ihr Treiber kann WdfUsbInterfaceGetConfiguredPipe aufrufen, nachdem er WdfUsbTargetDeviceSelectConfigaufgerufen hat.

Weitere Informationen zur WdfUsbInterfaceGetConfiguredPipe Methode und USB-E/A-Zielen finden Sie unter USB-E/A-Ziele.

Beispiele

Im folgenden Codebeispiel wird eine USB-Abbruchanforderung an jede konfigurierte Pipe einer angegebenen USB-Schnittstelle gesendet.

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;
    }
}

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Header- wdfusb.h (include Wdfusb.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL- <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf)

Siehe auch

WDF_USB_PIPE_INFORMATION

WdfUsbInterfaceGetNumConfiguredPipes

WdfUsbTargetDeviceGetInterface

WdfUsbTargetDeviceSelectConfig