WinUsb_SetPipePolicy函式 (winusb.h)
WinUsb_SetPipePolicy函式會設定裝置上與端點相關聯的特定管道原則。 這是同步作業。
語法
BOOL WinUsb_SetPipePolicy(
[in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
[in] UCHAR PipeID,
[in] ULONG PolicyType,
[in] ULONG ValueLength,
[in] PVOID Value
);
參數
[in] InterfaceHandle
介面的不透明控制碼,其中包含與管道相關聯的端點。
若要設定與第一個介面中端點相關聯的管道原則,請使用 WinUsb_Initialize所傳回的控制碼。 對於所有其他介面,請使用目標介面的控制碼 ,WinUsb_GetAssociatedInterface擷取。
[in] PipeID
包含 7 位位址和方向位的 8 位值。 此參數會對應至端點描述元中的 bEndpointAddress 欄位。
[in] PolicyType
ULONG變數,指定要變更的原則參數。 Value參數包含winusbio.h中定義之原則參數的新值。 如需如何使用每個管道原則和結果行為的詳細資訊,請參閱 WinUSB Functions for Pipe Policy Modification。
[in] ValueLength
緩衝區的大小,以位元組為單位,位於 Value。
[in] Value
PolicyType 所指定之原則參數的新值。 此輸入參數的大小取決於要變更的原則。 如需此參數大小的相關資訊,請參閱 PolicyType 參數的描述。
傳回值
如果 作業成功,WinUsb_SetPipePolicy傳回 TRUE 。 否則,此函式會傳回 FALSE,而且呼叫端可以呼叫 GetLastError來擷取記錄的錯誤。
GetLastError 可以傳回下列錯誤碼。
傳回碼 | 描述 |
---|---|
|
呼叫端在InterfaceHandle參數中傳遞Null。 |
|
呼叫端在 ValueLength 參數中傳遞原則參數緩衝區的大小無效。 |
|
表示記憶體不足,無法執行作業。 |
規格需求
目標平台 | Universal |
標頭 | winusb.h (包含 Winusb.h) |
程式庫 | Winusb.lib |
Dll | Winusb.dll |