WinUsb_GetAssociatedInterface関数 (winusb.h)
WinUsb_GetAssociatedInterface関数は、関連付けられたインターフェイスのハンドルを取得します。 これは同期操作です。
構文
BOOL WinUsb_GetAssociatedInterface(
[in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
[in] UCHAR AssociatedInterfaceIndex,
[out] PWINUSB_INTERFACE_HANDLE AssociatedInterfaceHandle
);
パラメーター
[in] InterfaceHandle
WinUsb_Initialize によって返される、デバイス上の最初の (既定の) インターフェイスへの不透明なハンドル。
[in] AssociatedInterfaceIndex
取得する関連付けられたインターフェイスを指定するインデックス。 値 0 は最初に関連付けられたインターフェイスを示し、値 1 は 2 つ目の関連付けられたインターフェイスを示します。
[out] AssociatedInterfaceHandle
関連付けられているインターフェイスのハンドル。 呼び出し元は、このインターフェイス ハンドルを、Winusb.dll によって公開される WinUSB 関数 に渡す必要があります。 このハンドルを閉じるには、 WinUsb_Freeを呼び出します。
戻り値
操作が 成功した場合、WinUsb_GetAssociatedInterfaceは TRUE を 返します。 それ以外の場合、このルーチンは FALSE を返し、呼び出し元は GetLastError を呼び出すことによってログに記録されたエラーを取得できます。
リターン コード | 説明 |
---|---|
|
WinUsb_GetAssociatedInterface は、 AssociatedInterfaceIndex が指定するインターフェイスのハンドルを既に返しています。 |
|
呼び出し元が InterfaceHandle パラメーターに NULL を渡しました。 |
|
渡された AssociatedInterfaceIndex 値が整数オーバーフロー チェックに失敗しました。 |
|
指定した AssociatedInterfaceIndex 値のインターフェイスが存在しません。 |
|
操作を実行するのに十分なメモリがないことを示します。 |
注釈
WinUsb_GetAssociatedInterface ルーチンは、不透明なハンドルを取得します。
最初に関連付けられたインターフェイスは、WinUsb_Initialize ルーチンが取得するハンドルを持つインターフェイスの直後にあるインターフェイスです。
WinUsb_GetAssociatedInterfaceが返すハンドルは、WinUsb_Freeを呼び出して解放する必要があります。
WinUsb_GetAssociatedInterfaceの呼び出し元は、インターフェイスごとに 1 つのハンドルのみを取得できます。 呼び出し元が同じインターフェイスに対して複数のハンドルを取得しようとすると、ルーチンは ERROR_ALREADY_EXISTS のエラーで失敗します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | winusb.h (Winusb.h を含む) |
Library | Winusb.lib |
[DLL] | Winusb.dll |