共用方式為


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 可以傳回下列錯誤碼。

傳回碼 描述
ERROR_INVALID_HANDLE
呼叫端在InterfaceHandle參數中傳遞Null
ERROR_INVALID_PARAMETER
呼叫端在 ValueLength 參數中傳遞原則參數緩衝區的大小無效。
ERROR_NOT_ENOUGH_MEMORY
表示記憶體不足,無法執行作業。

規格需求

   
目標平台 Universal
標頭 winusb.h (包含 Winusb.h)
程式庫 Winusb.lib
Dll Winusb.dll

另請參閱

WinUSB

WinUSB 函式

用於修改管道原則的 WinUSB 函式

WinUsb_GetPipePolicy

WinUsb_Initialize