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 関数」を参照してください。

[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
操作を実行するのに十分なメモリがないことを示します。

要件

   
対象プラットフォーム ユニバーサル
Header winusb.h (Winusb.h を含む)
Library Winusb.lib
[DLL] Winusb.dll

関連項目

WinUSB

WinUSB 関数

パイプ ポリシー修正のための WinUSB 関数

WinUsb_GetPipePolicy

WinUsb_Initialize