WinUsb_QueryPipeEx関数 (winusb.h)

WinUsb_QueryPipeEx関数は、指定されたエンドポイントと、インターフェイスの関連付けられたパイプに関する拡張情報を取得します。

構文

BOOL WinUsb_QueryPipeEx(
  [in]  WINUSB_INTERFACE_HANDLE     InterfaceHandle,
  [in]  UCHAR                       AlternateSettingNumber,
  [in]  UCHAR                       PipeIndex,
  [out] PWINUSB_PIPE_INFORMATION_EX PipeInformationEx
);

パラメーター

[in] InterfaceHandle

パイプが関連付けられているエンドポイントを含むインターフェイスへの不透明なハンドル。

最初のインターフェイスのエンドポイントに関連付けられているパイプに対してクエリを実行するには、 WinUsb_Initializeによって返されるハンドルを使用します。 その他のすべてのインターフェイスでは、WinUsb_GetAssociatedInterfaceによって取得されたターゲット インターフェイスへのハンドル 使用します。

[in] AlternateSettingNumber

情報を返す代替インターフェイスを指定する 値。

[in] PipeIndex

情報を返すパイプを指定する 値。 この値は、エンドポイント記述子の bEndpointAddress フィールドと同じではありません。 PipeIndex 値 0 は、インターフェイスに関連付けられている最初のエンドポイントを示し、値 1 は 2 番目のエンドポイントを示します。 PipeIndex は、インターフェイス記述子の bNumEndpoints フィールドの値より小さくする必要があります。

[out] PipeInformationEx

出力時に、パイプ情報を含む呼び出し元によって割り当てられた WINUSB_PIPE_INFORMATION_EX 構造体へのポインター。

戻り値

WinUsb_QueryPipeEx は、操作が成功した場合に TRUE を 返します。 それ以外の場合、この関数は FALSE を返し、呼び出し元は GetLastError を呼び出すことによってログに記録されたエラーを取得できます。

GetLastError は 、次のエラー コードを返すことができます。

リターン コード 説明
ERROR_INVALID_HANDLE
呼び出し元が InterfaceHandle パラメーターに NULL を渡しました。
ERROR_INVALID_PARAMETER
呼び出し元が PipeInformation パラメーターに NULL を渡しました。InterfaceHandle で指定されたハンドルのインターフェイス記述子が見つかりませんでした。
ERROR_NO_MORE_ITEMS
PipeIndex パラメーターで渡される値が、インターフェイス記述子の bNumEndpoints 値より大きい。指定されたインターフェイスのエンドポイント記述子が見つかりませんでした。

注釈

WinUsb_QueryPipeEx関数は、コントロール パイプに関する情報を取得しません。

要件

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

こちらもご覧ください

WinUSB デスクトップ アプリから USB 等時性転送を送信する

WINUSB_PIPE_INFORMATION

WinUSB

WinUSB 関数

WinUsb_Initialize