WinUsb_SetPipePolicy-Funktion (winusb.h)

Die WinUsb_SetPipePolicy-Funktion legt die Richtlinie für eine bestimmte Pipe fest, die einem Endpunkt auf dem Gerät zugeordnet ist. Dies ist ein synchroner Vorgang.

Syntax

BOOL WinUsb_SetPipePolicy(
  [in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
  [in] UCHAR                   PipeID,
  [in] ULONG                   PolicyType,
  [in] ULONG                   ValueLength,
  [in] PVOID                   Value
);

Parameter

[in] InterfaceHandle

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

Um eine Richtlinie für die Pipe festzulegen, die dem 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] PipeID

Ein 8-Bit-Wert, der aus einer 7-Bit-Adresse und einem Richtungsbit besteht. Dieser Parameter entspricht dem Feld bEndpointAddress im Endpunktdeskriptor.

[in] PolicyType

Eine ULONG-Variable , die den zu ändernden Richtlinienparameter angibt. Der Value-Parameter enthält den neuen Wert für den Richtlinienparameter, der in winusbio.h definiert ist. Informationen zur Verwendung der einzelnen Piperichtlinien und zum resultierenden Verhalten finden Sie unter WinUSB Functions for Pipe Policy Modification.

[in] ValueLength

Die Größe des Puffers in Bytes bei Value.

[in] Value

Der neue Wert für den Richtlinienparameter, den PolicyType angibt. Die Größe dieses Eingabeparameters hängt von der zu ändernden Richtlinie ab. Informationen zur Größe dieses Parameters finden Sie in der Beschreibung des PolicyType-Parameters .

Rückgabewert

WinUsb_SetPipePolicy 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 eine ungültige Größe für den Richtlinienparameterpuffer im ValueLength-Parameter übergeben.
ERROR_NOT_ENOUGH_MEMORY
Gibt an, dass nicht genügend Arbeitsspeicher zum Ausführen des Vorgangs vorhanden ist.

Anforderungen

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

Weitere Informationen

Winusb

WinUSB-Funktionen

WinUSB-Funktionen für Die Änderung der Piperichtlinie

WinUsb_GetPipePolicy

WinUsb_Initialize