次の方法で共有


IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL (hidclass.h)

IOCTL_HID_GET_SERIALNUMBER_STRING要求は、デバイスのシリアル番号を識別する 最上位レベルのコレクションの 埋め込み文字列を取得します。 取得された文字列は、人間が判読できる形式の NULL で終わるワイド文字列です。

HIDClass デバイスの一般的な情報については、「HID コレクションの 」を参照してください。

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力バッファー

IRP の I/O スタック位置の Parameters.DeviceIoControl.OutputBufferLength は、出力バッファーのサイズ (バイト単位) を示します。 出力バッファーが NULL で終わる埋め込み文字列全体を保持するのに十分な大きさでない場合、要求は出力バッファーに何も返しません。

入力バッファーの長さ

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

出力バッファー

Irp->MdlAddress は、シリアル番号文字列 (NULL で終わるワイド文字文字列) を受け取るバッファーを指します。

出力バッファーの長さ

NULL で終わるワイド文字列の長さ。 指定するバッファーは、<= 4093 バイト (2^12 – 3) である必要があります。

状態ブロック

HID クラス ドライバーは、Irp->IoStatusの次のフィールドを設定します。

  • 情報 は、デバイスから転送されたバイト数に設定されます。

  • ステータス は、転送がエラーなしで完了した場合にSTATUS_SUCCESSに設定されます。 それ以外の場合は、適切な NTSTATUS エラー コードに設定されます。

必要条件

要件 価値
ヘッダー hidclass.h (Hidclass.h を含む)

関連項目

HidD_GetIndexedString

HidD_GetManufacturerString

HidD_GetPhysicalDescriptor

HidD_GetProductString

HidD_GetSerialNumberString

IOCTL_HID_GET_INDEXED_STRING

IOCTL_HID_GET_MANUFACTURER_STRING

IOCTL_HID_GET_PRODUCT_STRING