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 |
---|---|
|
Der Aufrufer hat NULL im Parameter InterfaceHandle übergeben. |
|
Der Aufrufer hat eine ungültige Größe für den Richtlinienparameterpuffer im ValueLength-Parameter übergeben. |
|
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 |