WinUsb_QueryPipeEx-Funktion (winusb.h)

Die WinUsb_QueryPipeEx-Funktion ruft erweiterte Informationen zum angegebenen Endpunkt und der zugehörigen Pipe für eine Schnittstelle ab.

Syntax

BOOL WinUsb_QueryPipeEx(
  [in]  WINUSB_INTERFACE_HANDLE     InterfaceHandle,
  [in]  UCHAR                       AlternateSettingNumber,
  [in]  UCHAR                       PipeIndex,
  [out] PWINUSB_PIPE_INFORMATION_EX PipeInformationEx
);

Parameter

[in] InterfaceHandle

Ein undurchsichtiges Handle für eine Schnittstelle, die den Endpunkt enthält, dem die Pipe zugeordnet ist.

Um die Pipe abzufragen, die einem Endpunkt in der ersten Schnittstelle zugeordnet ist, verwenden Sie das von WinUsb_Initialize zurückgegebene Handle. Verwenden Sie für alle anderen Schnittstellen das Handle für die Zielschnittstelle, die von WinUsb_GetAssociatedInterface abgerufen wird.

[in] AlternateSettingNumber

Ein Wert, der die alternative Schnittstelle angibt, für die die Informationen zurückgegeben werden sollen.

[in] PipeIndex

Ein Wert, der die Pipe angibt, zu der Informationen zurückgegeben werden sollen. Dieser Wert ist nicht mit dem Feld bEndpointAddress im Endpunktdeskriptor identisch. Ein PipeIndex-Wert von 0 bedeutet den ersten Endpunkt, der der Schnittstelle zugeordnet ist, ein Wert von 1 den zweiten Endpunkt usw. PipeIndex muss kleiner als der Wert im Feld bNumEndpoints des Schnittstellendeskriptors sein.

[out] PipeInformationEx

Ein Zeiger in der Ausgabe auf eine vom Aufrufer zugewiesene WINUSB_PIPE_INFORMATION_EX Struktur, die Pipeinformationen enthält.

Rückgabewert

WinUsb_QueryPipeEx gibt TRUE zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Funktion FALSE zurück, und der Aufrufer kann den protokollierten Fehler abrufen, indem er GetLastError aufruft.

GetLastError kann den folgenden Fehlercode zurückgeben.

Rückgabecode Beschreibung
ERROR_INVALID_HANDLE
Der Aufrufer hat NULL im Parameter InterfaceHandle übergeben.
ERROR_INVALID_PARAMETER
Der Aufrufer hat NULL im PipeInformation-Parameter übergeben. Der Schnittstellendeskriptor konnte für das in InterfaceHandle angegebene Handle nicht gefunden werden.
ERROR_NO_MORE_ITEMS
Der im PipeIndex-Parameter übergebene Wert ist größer als der bNumEndpoints-Wert des Schnittstellendeskriptors. Endpunktdeskriptor konnte für die angegebene Schnittstelle nicht gefunden werden.

Hinweise

Die WinUsb_QueryPipeEx-Funktion ruft keine Informationen zur Steuerungspipe ab.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header winusb.h (einschließlich Winusb.h)
Bibliothek Winusb.lib
DLL Winusb.dll

Weitere Informationen

Senden isochroner USB-Übertragungen aus einer WinUSB-Desktop-App

WINUSB_PIPE_INFORMATION

Winusb

WinUSB-Funktionen

WinUsb_Initialize