funzione WinUsb_SetPipePolicy (winusb.h)
La funzione WinUsb_SetPipePolicy imposta i criteri per una pipe specifica associata a un endpoint nel dispositivo. Si tratta di un'operazione sincrona.
Sintassi
BOOL WinUsb_SetPipePolicy(
[in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
[in] UCHAR PipeID,
[in] ULONG PolicyType,
[in] ULONG ValueLength,
[in] PVOID Value
);
Parametri
[in] InterfaceHandle
Handle opaco per un'interfaccia che contiene l'endpoint a cui è associata la pipe.
Per impostare i criteri per la pipe associata all'endpoint nella prima interfaccia, usare l'handle restituito da WinUsb_Initialize. Per tutte le altre interfacce, usare l'handle per l'interfaccia di destinazione, recuperata da WinUsb_GetAssociatedInterface.
[in] PipeID
Valore a 8 bit costituito da un indirizzo a 7 bit e da un bit di direzione. Questo parametro corrisponde al campo bEndpointAddress nel descrittore dell'endpoint.
[in] PolicyType
Variabile ULONG che specifica il parametro dei criteri da modificare. Il parametro Value contiene il nuovo valore per il parametro policy, definito in winusbio.h. Per informazioni su come usare ogni criterio di pipe e il comportamento risultante, vedere Funzioni WinUSB per la modifica dei criteri di pipe.
[in] ValueLength
Dimensione, in byte, del buffer in Valore.
[in] Value
Nuovo valore per il parametro dei criteri specificato da PolicyType . Le dimensioni di questo parametro di input dipendono dai criteri da modificare. Per informazioni sulle dimensioni di questo parametro, vedere la descrizione del parametro PolicyType .
Valore restituito
WinUsb_SetPipePolicy restituisce TRUE se l'operazione ha esito positivo. In caso contrario, questa funzione restituisce FALSE e il chiamante può recuperare l'errore registrato chiamando GetLastError.
GetLastError può restituire il codice di errore seguente.
Codice restituito | Descrizione |
---|---|
|
Il chiamante ha passato NULL nel parametro InterfaceHandle . |
|
Il chiamante ha passato una dimensione non valida per il buffer dei parametri dei criteri nel parametro ValueLength . |
|
Indica che la memoria non è sufficiente per eseguire l'operazione. |
Requisiti
Piattaforma di destinazione | Universale |
Intestazione | winusb.h (include Winusb.h) |
Libreria | Winusb.lib |
DLL | Winusb.dll |