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 は 、次のエラー コードを返すことができます。
リターン コード | 説明 |
---|---|
|
呼び出し元が InterfaceHandle パラメーターに NULL を渡しました。 |
|
呼び出し元が ValueLength パラメーターのポリシー パラメーター バッファーに無効なサイズを渡しました。 |
|
操作を実行するのに十分なメモリがないことを示します。 |
要件
対象プラットフォーム | ユニバーサル |
Header | winusb.h (Winusb.h を含む) |
Library | Winusb.lib |
[DLL] | Winusb.dll |