次の方法で共有


HidD_GetIndexedString関数 (hidsdi.h)

HidD_GetIndexedString ルーチンは、最上位のコレクションから指定された埋め込み文字列を返します。

構文

BOOLEAN HidD_GetIndexedString(
  [in]  HANDLE HidDeviceObject,
  [in]  ULONG  StringIndex,
  [out] PVOID  Buffer,
  [in]  ULONG  BufferLength
);

パラメーター

[in] HidDeviceObject

最上位のコレクションに対する開いているハンドルを指定します。

[in] StringIndex

埋め込み文字列のデバイス固有のインデックスを指定します。

[out] Buffer

ルーチンが StringIndex で指定された埋め込み文字列を返すために使用する呼び出し元によって割り当てられたバッファーへのポインター。 ルーチンは、人間が判読できる形式で NULL で終わるワイド文字列を返します。

[in] BufferLength

Buffer で提供される呼び出し元によって割り当てられたバッファーの長さをバイト単位で指定 します。 バッファーが NULL で終わる埋め込み文字列全体を返すのに十分な大きさでない場合、ルーチンはバッファー内で何も返しません。 指定するバッファーは <、 = 4093 バイト (2^12 – 3) である必要があります。

戻り値

null で終わる埋め込み文字列全体が正常に返された場合、HidD_GetIndexedStringは TRUE を 返します。 それ以外の場合、ルーチンは FALSE を返しますGetLastError を使用して、拡張エラー情報を取得します。

注釈

HidD_GetIndexedStringを呼び出すことができるのは、ユーザー モード アプリケーションだけです。 カーネル モード ドライバーは、 IOCTL_HID_GET_INDEXED_STRING 要求を使用できます。

埋め込み文字列内で使用できる最大文字数は、デバイス固有です。 USB デバイスの場合、文字列の最大長は 126 文字です (終端の NULL 文字は含まれません)。

特定のインターフェイスのUSB_DEVICE_DESCRIPTOR構造体の iProduct メンバーは、次の規則に基づいて USB 共通クラスジェネリック親ドライバーによって設定されます。

  • インターフェイスのUSB_INTERFACE_DESCRIPTOR構造体の iInterface メンバーが 0 以外の場合、インターフェイスのUSB_DEVICE_DESCRIPTOR構造体の iProduct メンバーは、USB_INTERFACE_DESCRIPTOR構造体の iInterface メンバーに設定されます。

  • インターフェイスが USB インターフェイス関連付け記述子 によってグループ化され、インターフェイスのインターフェイス関連付け記述子の iFunction メンバーが 0 以外の場合、インターフェイスのUSB_DEVICE_DESCRIPTOR構造体の iProduct メンバーはインターフェイス関連付け記述子の iFunction メンバーに設定されます。

指定されたバッファーが = 4093 バイト (2^12 – 3) でない <場合、呼び出しが失敗する可能性があります (基になるプロトコル、HID/Bluetooth/SPI によって異なります)、エラー コード ERROR_GEN_FAILURE (0x0000001f)

詳細については、「 HID コレクション」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header hidsdi.h (Hidsdi.h を含む)
Library Hid.lib
[DLL] Hid.dll

こちらもご覧ください

HidD_GetManufacturerString

HidD_GetPhysicalDescriptor

HidD_GetProductString

HidD_GetSerialNumberString

IOCTL_HID_GET_INDEXED_STRING

IOCTL_HID_GET_MANUFACTURER_STRING

IOCTL_HID_GET_PRODUCT_STRING

IOCTL_HID_GET_SERIALNUMBER_STRING