ヒューマン インターフェイス デバイス (HID)

ヒューマン インターフェイス デバイス (HID) テクノロジの概要。

ヒューマン インターフェイス デバイス (HID) を開発するには、次のヘッダーが必要です。

プログラミング ガイドについては、「 ヒューマン インターフェイス デバイス (HID)」を参照してください。

Win32 HID プログラミング API については、「 Win32 ヒューマン インターフェイス デバイス リファレンス」を参照してください

このセクションには、ヒューマン インターフェイス デバイス (または HID) に関連するプログラミング インターフェイスが含まれています。 通常、これらは、人間がコンピューター システムの操作を直接制御するために使用するデバイスです。

HIDClass サポート ルーチン

ユーザー モード アプリケーション、カーネル モード ドライバー、HID ミニドライバーが HIDClass デバイス セットアップ クラスのデバイスを操作するために使用するシステム提供のルーチンがあります。

一般的な規則として、ユーザー モード アプリケーションでは、HidD_XxxルーチンとHidP_Xxx ルーチンを使用できます。 ただし、カーネル モード ドライバーは、HidP_Xxxルーチンのみを呼び出すことができます。

HID ミニドライバーは、 HidRegisterMinidriver ルーチンのみを使用します。

Windows 8.1 Microsoft では、HID デバイスにアクセスする Windows アプリを記述できる新しい Windows.Devices.HumanInterfaceDevice API が導入されました。

ヘッダーは、HID ミニドライバーがサポートする必要がある IOCTL を定義します。 HID クラス ドライバーのみが、これらの IOCTL を HID ミニドライバーに送信します。 ユーザー モード アプリケーションとその他のカーネル モード ドライバーは、HIDClass サポート ルーチンと HID クラス ドライバー IOCTL を使用してのみ HID コレクションと通信できます。

HID ミニドライバー IOCTL

HID ミニドライバーは、一連の IOCTL を処理する必要があります。 HID クラス ドライバーのみが、これらの IOCTL を HID ミニドライバーに送信します。 ユーザー モード アプリケーションとその他のカーネル モード ドライバーは、HIDClass サポート ルーチンと HID クラス ドライバー IOCTL を使用してのみ HID コレクションと通信できます。

トピック 説明
IOCTL_HID_ACTIVATE_DEVICE IOCTL_HID_ACTIVATE_DEVICE要求によって HIDClass デバイスがアクティブ化され、I/O 操作の準備が整います。
IOCTL_HID_DEACTIVATE_DEVICE IOCTL_HID_DEACTIVATE_DEVICE要求によって HIDClass デバイスが非アクティブ化されるため、操作が停止され、未処理のすべての I/O 要求が終了します。
IOCTL_HID_GET_DEVICE_ATTRIBUTES IOCTL_HID_GET_DEVICE_ATTRIBUTES要求は、HID_DEVICE_ATTRIBUTES構造体内の HIDClass デバイスの属性を取得します。
IOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL_HID_GET_DEVICE_DESCRIPTOR要求は、HIDClass デバイスの HID 記述子を取得します。
IOCTL_HID_GET_REPORT_DESCRIPTOR IOCTL_HID_GET_REPORT_DESCRIPTOR要求は、HIDClass デバイスのレポート記述子を取得します。
IOCTL_HID_GET_STRING IOCTL_HID_GET_STRING要求は、最上位のコレクションの製造元 ID、製品 ID、またはシリアル番号を取得します。 取得した文字列は、人間が判読できる形式の NULL で終わるワイド文字列です。
IOCTL_HID_READ_REPORT IOCTL_HID_READ_REPORT要求は、HIDClass デバイスから HID クラス ドライバーのバッファーに入力レポートを転送します。
IOCTL_HID_WRITE_REPORT IOCTL_HID_WRITE_REPORT要求は HID レポートを HIDClass デバイスに送信します。
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR制御コードは、HIDClass デバイスの物理記述子を取得します。
IOCTL_UMDF_HID_GET_FEATURE IOCTL_UMDF_HID_GET_FEATUREコントロール コードは、HIDClass デバイスから機能レポートを取得します。
IOCTL_UMDF_HID_GET_INPUT_REPORT IOCTL_UMDF_HID_GET_INPUT_REPORTコントロール コードは、HIDClass デバイスから入力レポートを返します。
IOCTL_UMDF_HID_SET_FEATURE IOCTL_UMDF_HID_GET_FEATUREコントロール コードは、機能レポートを HIDClass デバイスに送信します。
IOCTL_UMDF_HID_SET_OUTPUT_REPORT IOCTL_UMDF_HID_SET_OUTPUT_REPORTコントロール コードは、出力レポートを最上位のコレクションに送信します。

HID クラス ドライバーの IOCTL

HID クラス ドライバーは、最上位のコレクションをサポートする IOCTL を処理します。

ユーザー アプリケーションは、HIDClass サポート ルーチンHidD_Xxx使用して HID クラス ドライバーと通信できますが、カーネル モード ドライバーは、このセクションで説明する対応するデバイス制御要求を送信する必要があります。

入力パラメーターと出力パラメーターは要求固有です。

要求が完了すると、I/O 状態ブロック メンバーは次のように設定されます。

Status メンバーは、HID クラス ドライバーが処理するすべての要求に対して設定されます。

IOCTL ごとに説明されているように、Information メンバーはクラス ドライバーまたは下位レベルのドライバーによって設定されます。 通常、下位レベルのドライバーがデバイスとの間でデータを転送する場合、下位レベルのドライバーは、転送されたバイト数に情報を設定します。 ただし、HID クラス ドライバーは別の値を返す場合があります。

トピック 説明
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS要求は、最上位のコレクションの入力レポート キューのサイズを取得します。
IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL_GET_PHYSICAL_DESCRIPTOR要求は、最上位のコレクションの物理記述子を取得します。
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL_HID_DEVICERESET_NOTIFICATION要求は、HID クライアント ドライバーによって HID クラス ドライバーに送信され、デバイスによって開始されたリセット イベントを待機します。
IOCTL_HID_DISABLE_SECURE_READ IOCTL_HID_DISABLE_SECURE_READ要求は、HID コレクションのIOCTL_HID_ENABLE_SECURE_READ要求を取り消します。
IOCTL_HID_ENABLE_SECURE_READ IOCTL_HID_ENABLE_SECURE_READ要求により、HID コレクションの開いているファイルに対してセキュリティで保護された読み取りが可能になります。
IOCTL_HID_ENABLE_WAKE_ON_SX IOCTL_HID_ENABLE_WAKE_ON_SX要求は、デバイスがシステム スリープから復帰できるようにするための要件を示すために使用されます。
IOCTL_HID_FLUSH_QUEUE IOCTL_HID_FLUSH_QUEUE要求は、最上位のコレクションの入力レポート キューから、解析されていないすべての入力レポートをデキューします。
IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL_HID_GET_COLLECTION_DESCRIPTOR要求は、最上位のコレクションの準備されたデータを取得します。HID クラス ドライバーは、デバイスの初期化中に物理デバイスのレポート記述子から抽出されます。
IOCTL_HID_GET_COLLECTION_INFORMATION IOCTL_HID_GET_COLLECTION_INFORMATION要求は、最上位レベルのコレクションのHID_COLLECTION_INFORMATION構造体を取得します。
IOCTL_HID_GET_DRIVER_CONFIG IOCTL_HID_GET_DRIVER_CONFIG要求は、ドライバー構成を取得します。
IOCTL_HID_GET_FEATURE IOCTL_HID_GET_FEATURE要求は、最上位のコレクションに関連付けられている機能レポートを返します。
IOCTL_HID_GET_HARDWARE_ID IOCTL_HID_GET_HARDWARE_ID要求は、最上位のコレクションのプラグ アンド プレイ ハードウェア ID を取得します。
IOCTL_HID_GET_INDEXED_STRING IOCTL_HID_GET_INDEXED_STRING要求は、最上位のコレクションから指定された埋め込み文字列を取得します。
IOCTL_HID_GET_INPUT_REPORT IOCTL_HID_GET_INPUT_REPORT要求は、最上位のコレクションから入力レポートを取得します。
IOCTL_HID_GET_MANUFACTURER_STRING IOCTL_HID_GET_MANUFACTURER_STRING要求は、デバイスの製造元を識別する最上位のコレクションの埋め込み文字列を取得します。
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR IOCTL_HID_GET_MS_GENRE_DESCRIPTOR要求は、デバイスのジャンル記述子を取得するために使用されます。
IOCTL_HID_GET_POLL_FREQUENCY_MSEC IOCTL_HID_GET_POLL_FREQUENCY_MSEC要求は、最上位のコレクションの現在のポーリング頻度をミリ秒単位で取得します。
IOCTL_HID_GET_PRODUCT_STRING IOCTL_HID_GET_PRODUCT_STRING要求は、製造元の製品を識別する最上位のコレクションの埋め込み文字列を取得します。 取得された文字列は、人間が判読できる形式の NULL で終わるワイド文字列です。 HIDClass デバイスの一般的な情報については、「HID コレクション」を参照してください。
IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL_HID_GET_SERIALNUMBER_STRING要求は、デバイスのシリアル番号を識別する最上位のコレクションの埋め込み文字列を取得します。
IOCTL_HID_SET_DRIVER_CONFIG IOCTL_HID_SET_DRIVER_CONFIG要求は、ドライバーの構成を設定します。
IOCTL_HID_SET_FEATURE IOCTL_HID_SET_FEATURE要求は、機能レポートを最上位のコレクションに送信します。 HIDClass デバイスの一般的な情報については、「HID コレクション」を参照してください。
IOCTL_HID_SET_OUTPUT_REPORT IOCTL_HID_SET_OUTPUT_REPORT要求は、最上位レベルのコレクションに出力レポートを送信します。
IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL_HID_SET_POLL_FREQUENCY_MSEC要求は、最上位のコレクションのポーリング頻度をミリ秒単位で設定します。 ポーリングされたデバイスで不規則で日和見的な読み取りを実行するユーザー モード アプリケーションまたはカーネル モード ドライバーは、ポーリング間隔を 0 にする必要があります。 このような場合、IOCTL_HID_SET_POLL_FREQUENCY_MSECは実際にはデバイスのポーリング頻度を変更しません。ただし、レポート データが読み取り時に古くない場合、読み取りは、指定されたコレクションの最新のレポート データを使用してすぐに完了します。 レポート データが古い場合は、ポーリング間隔の有効期限を待たずにすぐに更新され、新しいデータを使用して読み取りが完了します。 IRP で提供されるポーリング間隔の値が 0 でない場合は、 = MIN_POLL_INTERVAL_MSEC および <= MAX_POLL_INTERVAL_MSECである必要があります>。 最上位レベルのコレクションが複数ある場合、ポーリングは制限される場合があります。 HIDClass デバイスの一般的な情報については、「HID コレクション」を参照してください。
IOCTL_HID_SET_S0_IDLE_TIMEOUT IOCTL_HID_SET_S0_IDLE_TIMEOUT要求は、クライアントがクライアントの優先アイドル タイムアウト値について HID クラス ドライバーに通知するために使用されます。
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS要求は、最上位のコレクションの入力レポート キューのバッファー数を設定します。 各入力レポート キューはリング バッファーとして実装されます。 コレクションがドライバーが読み取ることができるよりも高速に HID クラス ドライバーにデータを送信する場合、データの一部が失われる可能性があります。 この種の損失を防ぐために、IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS要求を使用して、入力レポート キューに含まれるバッファーの数を調整できます。 HID クラス ドライバーには、少なくとも 2 つの入力バッファーが必要です。 HID クラス ドライバーがサポートする入力バッファーの最大数は 512 です。 入力バッファーの既定の数は 32 です。 HIDClass デバイスの一般的な情報については、「HID コレクション」を参照してください。

内部システム使用のために予約済み

このセクションでは、HIDClass 関連のルーチン、構造体、列挙型、および内部システム用に予約されているデータ型をアルファベット順に示します。

  • DeviceObjectState
  • HID_DRIVER_CONFIG
  • HID_INTERFACE_HIDPARSE
  • HID_INTERFACE_NOTIFY_PNP
  • HIDD_CONFIGURATION
  • HidD_GetConfiguration
  • HidD_GetMsGenreDescriptor
  • HidD_SetConfiguration
  • HIDP_COLLECTION_DESC
  • HIDP_DEVICE_DESC
  • HidP_FreeCollectionDescription
  • HIDP_GETCOLDESC_DBG
  • HIDP_KEYBOARD_DIRECTION
  • HIDP_KEYBOARD_MODIFIER_STATE
  • HIDP_REPORT_IDS
  • HidP_SysPowerCaps
  • HidP_SysPowerEvent
  • HidP_TranslateUsageAndPagesToI8042ScanCodes
  • PHID_STATUS_CHANGE
  • PHIDP_INSERT_SCANCODES
  • PHIDP_REPORT_DESCRIPTOR

DeviceObjectState

DeviceObjectState 列挙型は、内部システムで使用するために予約されています。

enum DeviceObjectState {
  DeviceObjectStarted,
  DeviceObjectStopped,
  DeviceObjectRemoved
};

Hidclass.h で宣言されたヘッダー。

HID_DRIVER_CONFIG

HID_DRIVER_CONFIG構造体は、内部システムで使用するために予約されています。

typedef struct _HID_DRIVER_CONFIG {
  ULONG  Size;
  ULONG  RingBufferSize;
} HID_DRIVER_CONFIG, *PHID_DRIVER_CONFIG;

Hidclass.h で宣言されたヘッダー。

HID_INTERFACE_HIDPARSE

HID_INTERFACE_HIDPARSE構造体は、内部システムで使用するために予約されています。

typedef struct _HID_INTERFACE_HIDPARSE {
#ifndef __cplusplus
  INTERFACE;
#else
  INTERFACE  i;
#endif
  PHIDP_GETCAPS  HidpGetCaps;
} HID_INTERFACE_HIDPARSE, *PHID_INTERFACE_HIDPARSE;

Hidclass.h で宣言されたヘッダー。

HID_INTERFACE_NOTIFY_PNP

HID_INTERFACE_NOTIFY_PNP構造体は、内部システムで使用するために予約されています。

typedef struct _HID_INTERFACE_NOTIFY_PNP {
#ifndef __cplusplus
  INTERFACE;
#else
  INTERFACE  i;
#endif
  PHID_STATUS_CHANGE  StatusChangeFn;
  PVOID CallbackContext;
} HID_INTERFACE_NOTIFY_PNP, *PHID_INTERFACE_NOTIFY_PNP;

Hidclass.h で宣言されたヘッダー。

HIDD_CONFIGURATION

HIDD_CONFIGURATION構造体は、内部システム用に予約されています。

typedef struct _HIDD_CONFIGURATION {
  PVOID  cookie;
  ULONG  size;
  ULONG  RingBufferSize;
} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;

Hidsdi.h で宣言されたヘッダー。

HidD_GetConfiguration

HidD_GetConfiguration ルーチンは、内部システムで使用するために予約されています。

BOOLEAN __stdcall
HidD_GetConfiguration(
    IN HANDLE  HidDeviceObject,
    OUT PHIDD_CONFIGURATION  Configuration,
    IN ULONG  ConfigurationLength
    );

Hidsdi.h で宣言されたヘッダー。

HidD_GetMsGenreDescriptor

HidD_GetMsGenreDescriptor ルーチンは、内部システムで使用するために予約されています。

BOOLEAN __stdcall
HidD_GetMsGenreDescriptor(
    IN HANDLE  HidDeviceObject,
    OUT PVOID  Buffer,
    IN ULONG  BufferLength
    );

Hidsdi.h で宣言されたヘッダー。

HidD_SetConfiguration

HidD_SetConfiguration ルーチンは、内部システムで使用するために予約されています。

BOOLEAN __stdcall
HidD_SetConfiguration(
    IN HANDLE  HidDeviceObject,
    IN PHIDD_CONFIGURATION  Configuration,
    IN ULONG  ConfigurationLength
    );

Hidsdi.h で宣言されたヘッダー。

HIDP_COLLECTION_DESC

HIDP_COLLECTION_DESC構造体は、内部システムで使用するために予約されています。

typedef struct _HIDP_COLLECTION_DESC {
  USAGE  UsagePage;
  USAGE  Usage;
  UCHAR  CollectionNumber;
  UCHAR  Reserved [15];
  USHORT  InputLength;
  USHORT  OutputLength;
  USHORT  FeatureLength;
  USHORT  PreparsedDataLength;
  PHIDP_PREPARSED_DATA  PreparsedData;
} HIDP_COLLECTION_DESC, *PHIDP_COLLECTION_DESC;

Hidpddi.h で宣言されたヘッダー。

HIDP_DEVICE_DESC

HIDP_DEVICE_DESC構造体は、内部システムで使用するために予約されています。

typedef struct _HIDP_DEVICE_DESC {
  PHIDP_COLLECTION_DESC  CollectionDesc;
  ULONG  CollectionDescLength;
  PHIDP_REPORT_IDS  ReportIDs;
  ULONG  ReportIDsLength;
  HIDP_GETCOLDESC_DBG  Dbg;
} HIDP_DEVICE_DESC, *PHIDP_DEVICE_DESC;

Hidpddi.h で宣言されたヘッダー。

HidP_FreeCollectionDescription

HidP_FreeCollectionDescription ルーチンは、内部システムで使用するために予約されています。

VOID
HidP_FreeCollectionDescription(
    IN PHIDP_DEVICE_DESC  DeviceDescription
    );

Hidpddi.h で宣言されたヘッダー。

HIDP_GETCOLDESC_DBG

HIDP_GETCOLDESC_DBG構造体は、内部システムで使用するために予約されています。

typedef struct _HIDP_GETCOLDESC_DBG {
  ULONG  BreakOffset;
  ULONG  ErrorCode;
  ULONG  Args[6];
} HIDP_GETCOLDESC_DBG, *PHIDP_GETCOLDESC_DBG;

Hidpddi.h で宣言されたヘッダー。

HIDP_KEYBOARD_DIRECTION

HIDP_KEYBOARD_DIRECTION列挙型は、内部システムで使用するために予約されています。

typedef enum _HIDP_KEYBOARD_DIRECTION {
 HidP_Keyboard_Break,
 HidP_Keyboard_Make
} HIDP_KEYBOARD_DIRECTION;

Hidpi.h で宣言されたヘッダー。

HIDP_KEYBOARD_MODIFIER_STATE

HIDP_KEYBOARD_MODIFIER_STATE構造体は、内部システムで使用するために予約されています。

typedef struct _HIDP_KEYBOARD_MODIFIER_STATE {
  union {
    struct {
      ULONG  LeftControl: 1;
      ULONG  LeftShift: 1;
      ULONG  LeftAlt: 1;
      ULONG  LeftGUI: 1;
      ULONG  RightControl: 1;
      ULONG  RightShift: 1;
      ULONG  RightAlt: 1;
      ULONG  RigthGUI: 1;
      ULONG  CapsLock: 1;
      ULONG  ScollLock: 1;
      ULONG  NumLock: 1;
      ULONG  Reserved: 21;
    };
    ULONG ul;
  };
} HIDP_KEYBOARD_MODIFIER_STATE, *PHIDP_KEYBOARD_MODIFIER_STATE;

Hidpi.h で宣言されたヘッダー。

HIDP_REPORT_IDS

HIDP_REPORT_IDS構造体は、内部システムで使用するために予約されています。

typedef struct _HIDP_REPORT_IDS {
  UCHAR  ReportID;
  UCHAR  CollectionNumber;
  USHORT  InputLength;
  USHORT  OutputLength;
  USHORT  FeatureLength;
} HIDP_REPORT_IDS, *PHIDP_REPORT_IDS;

Hidpddi.h で宣言されたヘッダー。

HidP_SysPowerCaps

HidP_SysPowerCaps ルーチンは、内部システムで使用するために予約されています。

NTSTATUS
HidP_SysPowerCaps(
    IN PHIDP_PREPARSED_DATA  Ppd,
    OUT PULONG  OutputBuffer
    );

Hidpddi.h で宣言されたヘッダー。

HidP_SysPowerEvent

HidP_SysPowerEvent ルーチンは、内部システムで使用するために予約されています。

NTSTATUS
HidP_SysPowerEvent(
    IN PCHAR  HidPacket,
    IN USHORT  HidPacketLength,
    IN PHIDP_PREPARSED_DATA  Ppd,
    OUT PULONG  OutputBuffer
    );

Hidpddi.h で宣言されたヘッダー。

HidP_TranslateUsageAndPagesToI8042ScanCodes

HidP_TranslateUsageAndPagesToI8042ScanCodes ルーチンは、内部システムで使用するために予約されています。

NTSTATUS __stdcall
  HidP_TranslateUsageAndPagesToI8042ScanCodes(
    IN PUSAGE_AND_PAGE  ChangedUsageList,
    IN ULONG  UsageListLength,
    IN HIDP_KEYBOARD_DIRECTION  KeyAction,
    IN OUT PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
    IN PHIDP_INSERT_SCANCODES  InsertCodesProcedure,
    IN PVOID  InsertCodesContext
    );

Hidpi.h で宣言されたヘッダー。

PHID_STATUS_CHANGE

PHID_STATUS_CHANGE ルーチンは、内部システムで使用するために予約されています。

typedef VOID (*PHID_STATUS_CHANGE)(
    PVOID  Context,
    enum DeviceObjectState State
    );

Hidclass.h で宣言されたヘッダー。

PHIDP_INSERT_SCANCODES

PHIDP_INSERT_SCANCODES ルーチンは、内部システムで使用するために予約されています。

typedef BOOLEAN (*PHIDP_INSERT_SCANCODES)(
    IN PVOID  Context,
    IN PCHAR  NewScanCodes,
    IN ULONG  Length
    );

Hidpi.h で宣言されたヘッダー。

PHIDP_REPORT_DESCRIPTOR

PHIDP_REPORT_DESCRIPTORデータ型は、内部システムで使用するために予約されています。

typedef PUCHAR  PHIDP_REPORT_DESCRIPTOR;

Hidpi.h で宣言されたヘッダー。

コールバック関数

タイトル 説明
EVT_VHF_ASYNC_OPERATION HID ソース ドライバーは、HID レポートを取得および設定する 4 つの非同期操作のいずれかをサポートする場合に、このイベント コールバックを実装します。
EVT_VHF_CLEANUP HID ソース ドライバーは、このイベント コールバックを実装して、仮想 HID デバイスに割り当てられたドライバーの可能性があるリソースを解放します。
EVT_VHF_READY_FOR_NEXT_READ_REPORT HID ソース ドライバーは、このイベントコールバック関数を実装して HID 入力レポートのバッファリング スキームを使用し、次のレポートを VHF に送信できる場合に通知を受け取ります。
PHIDP_GETCAPS HidP_GetCaps ルーチンは、最上位レベルのコレクションのHIDP_CAPS構造体を返します。
PI8042_ISR_WRITE_PORT PI8042_ISR_WRITE_PORT型のコールバック ルーチンは、i8042 ポートにデータを書き込みます。 I8042prt は、このコールバックを提供します。
PI8042_KEYBOARD_INITIALIZATION_ROUTINE PI8042_KEYBOARD_INITIALIZATION_ROUTINE型のコールバック ルーチンは、I8042prt によるキーボード デバイスの既定の初期化を補完します。
PI8042_KEYBOARD_ISR PI8042_KEYBOARD_ISR型のコールバック ルーチンは、I8042prt キーボード ISR の操作をカスタマイズします。
PI8042_MOUSE_ISR PI8042_MOUSE_ISR型のコールバック ルーチンは、I8042prt マウス ISR の操作をカスタマイズします。
PI8042_QUEUE_PACKET PI8042_QUEUE_PACKET型のコールバック ルーチンは、キーボードまたはマウス デバイスの ISR DPC による処理のために入力データ パケットをキューに入れます。 I8042prt は、このコールバックを提供します。
PI8042_SYNCH_READ_PORT PI8042_SYNCH_READ_PORT型のコールバック ルーチンは、i8042 ポートから同期読み取りを行います。 I8042prt は、このコールバックを提供します。
PI8042_SYNCH_WRITE_PORT PI8042_SYNCH_READ_PORT型のコールバック ルーチンは、i8042 ポートへの同期された書き込みを行います。 I8042prt は、このルーチンを提供します。
PSERVICE_CALLBACK_ROUTINE 関数ドライバーは、ISR ディスパッチ完了ルーチンでクラス サービス コールバックを呼び出します。 クラス サービス コールバックは、デバイスの入力データ バッファーからクラス データ キューに入力データを転送します。

I/O 制御コード

タイトル 説明
IOCTL のIOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS要求は、最上位のコレクションの入力レポート キューのサイズを取得します。
IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL IOCTL_GET_PHYSICAL_DESCRIPTOR要求は、最上位のコレクションの物理記述子を取得します。 ミニドライバーの場合、この記述子は HIDClass デバイスの記述子です。
IOCTL のIOCTL_HID_ACTIVATE_DEVICE IOCTL_HID_ACTIVATE_DEVICE要求によって HIDClass デバイスがアクティブ化され、I/O 操作の準備が整います。
IOCTL のIOCTL_HID_DEACTIVATE_DEVICE IOCTL_HID_DEACTIVATE_DEVICE要求によって HIDClass デバイスが非アクティブ化されるため、操作が停止され、未処理のすべての I/O 要求が終了します。
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL IOCTL_HID_DEVICERESET_NOTIFICATION要求は、HID クライアント ドライバーによって HID クラス ドライバーに送信され、デバイスによって開始されたリセット イベントを待機します。
IOCTL_HID_DISABLE_SECURE_READ IOCTL IOCTL_HID_DISABLE_SECURE_READ要求は、HID コレクションのIOCTL_HID_ENABLE_SECURE_READ要求を取り消します。
IOCTL のIOCTL_HID_ENABLE_SECURE_READ IOCTL_HID_ENABLE_SECURE_READ要求により、HID コレクションの開いているファイルに対してセキュリティで保護された読み取りが可能になります。
IOCTL のIOCTL_HID_ENABLE_WAKE_ON_SX IOCTL_HID_ENABLE_WAKE_ON_SX要求は、デバイスがシステム スリープから復帰できるようにするための要件を示すために使用されます。
IOCTL のIOCTL_HID_FLUSH_QUEUE IOCTL_HID_FLUSH_QUEUE要求は、最上位のコレクションの入力レポート キューから、解析されていないすべての入力レポートをデキューします。
IOCTL のIOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL_HID_GET_COLLECTION_DESCRIPTOR要求は、最上位のコレクションの準備されたデータを取得します。HID クラス ドライバーは、デバイスの初期化中に物理デバイスのレポート記述子から抽出されます。
IOCTL のIOCTL_HID_GET_COLLECTION_INFORMATION IOCTL_HID_GET_COLLECTION_INFORMATION要求は、最上位レベルのコレクションのHID_COLLECTION_INFORMATION構造体を取得します。
IOCTL のIOCTL_HID_GET_DEVICE_ATTRIBUTES IOCTL_HID_GET_DEVICE_ATTRIBUTES要求は、HID_DEVICE_ATTRIBUTES構造体内の HIDClass デバイスの属性を取得します。
IOCTL のIOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL_HID_GET_DEVICE_DESCRIPTOR要求は、HIDClass デバイスの HID 記述子を取得します。
IOCTL のIOCTL_HID_GET_DRIVER_CONFIG IOCTL_HID_GET_DRIVER_CONFIG要求は、ドライバー構成を取得します。
IOCTL のIOCTL_HID_GET_FEATURE IOCTL_HID_GET_FEATURE要求は、最上位のコレクションに関連付けられている機能レポートを返します。
IOCTL_HID_GET_HARDWARE_ID IOCTL IOCTL_HID_GET_HARDWARE_ID要求は、最上位のコレクションのプラグ アンド プレイ ハードウェア ID を取得します。
IOCTL のIOCTL_HID_GET_INDEXED_STRING IOCTL_HID_GET_INDEXED_STRING要求は、最上位のコレクションから指定された埋め込み文字列を取得します。
IOCTL のIOCTL_HID_GET_INPUT_REPORT IOCTL_HID_GET_INPUT_REPORT要求は、最上位のコレクションから入力レポートを取得します。
IOCTL_HID_GET_MANUFACTURER_STRING IOCTL IOCTL_HID_GET_MANUFACTURER_STRING要求は、デバイスの製造元を識別する最上位のコレクションの埋め込み文字列を取得します。
IOCTL のIOCTL_HID_GET_MS_GENRE_DESCRIPTOR IOCTL_HID_GET_MS_GENRE_DESCRIPTOR要求は、デバイスのジャンル記述子を取得するために使用されます。
IOCTL のIOCTL_HID_GET_POLL_FREQUENCY_MSEC IOCTL_HID_GET_POLL_FREQUENCY_MSEC要求は、最上位コレクションの現在のポーリング頻度をミリ秒単位で取得します。
IOCTL_HID_GET_PRODUCT_STRING IOCTL IOCTL_HID_GET_PRODUCT_STRING要求は、製造元の製品を識別する最上位のコレクションの埋め込み文字列を取得します。 取得した文字列は、人間が判読できる形式の NULL で終わるワイド文字列です。
IOCTL_HID_GET_REPORT_DESCRIPTOR IOCTL IOCTL_HID_GET_REPORT_DESCRIPTOR要求は、HIDClass デバイスのレポート記述子を取得します。
IOCTL のIOCTL_HID_GET_SERIALNUMBER_STRING IOCTL_HID_GET_SERIALNUMBER_STRING要求は、デバイスのシリアル番号を識別する最上位のコレクションの埋め込み文字列を取得します。
IOCTL_HID_GET_STRING IOCTL IOCTL_HID_GET_STRING要求は、最上位のコレクションの製造元 ID、製品 ID、またはシリアル番号を取得します。 取得した文字列は、人間が判読できる形式の NULL で終わるワイド文字列です。
IOCTL のIOCTL_HID_READ_REPORT IOCTL_HID_READ_REPORT要求は、HIDClass デバイスから HID クラス ドライバーのバッファーに入力レポートを転送します。
IOCTL のIOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST制御コードは、HIDClass が HIDUSB などの HID ミニ ドライバーに送信して、デバイスがアイドル状態になったことをバス ドライバーに通知するアイドル状態の通知要求 IRP の IOCTL です。
IOCTL のIOCTL_HID_SET_DRIVER_CONFIG IOCTL_HID_SET_DRIVER_CONFIG要求は、ドライバーの構成を設定します。
IOCTL のIOCTL_HID_SET_FEATURE IOCTL_HID_SET_FEATURE要求は、機能レポートを最上位のコレクションに送信します。
IOCTL のIOCTL_HID_SET_OUTPUT_REPORT IOCTL_HID_SET_OUTPUT_REPORT要求は、最上位のコレクションに出力レポートを送信します。
IOCTL のIOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL_HID_SET_POLL_FREQUENCY_MSEC要求は、最上位のコレクションのポーリング頻度をミリ秒単位で設定します。
IOCTL のIOCTL_HID_SET_S0_IDLE_TIMEOUT IOCTL_HID_SET_S0_IDLE_TIMEOUT要求は、クライアントの優先アイドル タイムアウト値について HID クラス ドライバーに通知するためにクライアントによって使用されます。
IOCTL_HID_WRITE_REPORT IOCTL IOCTL_HID_WRITE_REPORT要求は HID レポートを HIDClass デバイスに送信します。
IOCTL のIOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER要求はサポートされていません。
IOCTL のIOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL_INTERNAL_I8042_HOOK_KEYBOARD要求では、次の処理が行われます。
IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL IOCTL_INTERNAL_I8042_HOOK_MOUSE要求は、I8042prt マウス ISR に ISR コールバック ルーチンを追加します。
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION IOCTL IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION要求は、キーボード割り込みオブジェクトへのポインターを渡します。
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER IOCTL IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER要求は、キーボード デバイスの操作を制御するために i8042 ポート コントローラーにデータを書き込みます。
IOCTL のIOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION要求は、マウス割り込みオブジェクトへのポインターを渡します。
IOCTL のIOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER要求は、マウス デバイスの操作を制御するために i8042 ポート コントローラーにデータを書き込みます。
IOCTL のIOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL_INTERNAL_KEYBOARD_CONNECT要求は、Kbdclass サービスをキーボード デバイスに接続します。
IOCTL のIOCTL_INTERNAL_KEYBOARD_DISCONNECT IOCTL_INTERNAL_KEYBOARD_DISCONNECT要求は、STATUS_NOT_IMPLEMENTEDの状態で完了します。 プラグ アンド プレイ キーボードは、プラグ アンド プレイ マネージャーによって追加または削除できることに注意してください。
IOCTL のIOCTL_INTERNAL_MOUSE_CONNECT IOCTL_INTERNAL_MOUSE_CONNECT要求は、Mouclass サービスをマウス デバイスに接続します。
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL IOCTL_INTERNAL_MOUSE_DISCONNECT要求は、エラー状態が STATUS_NOT_IMPLEMENTED の Moufiltr によって完了します。
IOCTL のIOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS要求は、最上位コレクションの入力レポート キューのバッファーの数を設定します。
IOCTL のIOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR制御コードは、HIDClass デバイスの物理記述子を取得します。
IOCTL のIOCTL_UMDF_HID_GET_FEATURE IOCTL_UMDF_HID_GET_FEATUREコントロール コードは、HIDClass デバイスから機能レポートを取得します。
IOCTL のIOCTL_UMDF_HID_GET_INPUT_REPORT IOCTL_UMDF_HID_GET_INPUT_REPORTコントロール コードは、HIDClass デバイスから入力レポートを返します。
IOCTL のIOCTL_UMDF_HID_SET_FEATURE IOCTL_UMDF_HID_GET_FEATUREコントロール コードは、機能レポートを HIDClass デバイスに送信します。
IOCTL のIOCTL_UMDF_HID_SET_OUTPUT_REPORT IOCTL_UMDF_HID_SET_OUTPUT_REPORTコントロール コードは、出力レポートを最上位のコレクションに送信します。

IOCTL

 
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS

IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS要求は、最上位のコレクションの入力レポート キューのサイズを取得します。
IOCTL_GET_PHYSICAL_DESCRIPTOR

IOCTL_GET_PHYSICAL_DESCRIPTOR要求は、最上位のコレクションの物理記述子を取得します。 ミニドライバーの場合、この記述子は HIDClass デバイスの記述子です。
IOCTL_HID_ACTIVATE_DEVICE

IOCTL_HID_ACTIVATE_DEVICE要求によって HIDClass デバイスがアクティブ化され、I/O 操作の準備が整います。
IOCTL_HID_DEACTIVATE_DEVICE

IOCTL_HID_DEACTIVATE_DEVICE要求によって HIDClass デバイスが非アクティブ化されるため、操作が停止され、未処理のすべての I/O 要求が終了します。
IOCTL_HID_DEVICERESET_NOTIFICATION

IOCTL_HID_DEVICERESET_NOTIFICATION要求は、HID クライアント ドライバーによって HID クラス ドライバーに送信され、デバイスによって開始されたリセット イベントを待機します。
IOCTL_HID_DISABLE_SECURE_READ

IOCTL_HID_DISABLE_SECURE_READ要求は、HID コレクションのIOCTL_HID_ENABLE_SECURE_READ要求を取り消します。
IOCTL_HID_ENABLE_SECURE_READ

IOCTL_HID_ENABLE_SECURE_READ要求により、HID コレクションの開いているファイルに対してセキュリティで保護された読み取りが可能になります。
IOCTL_HID_ENABLE_WAKE_ON_SX

IOCTL_HID_ENABLE_WAKE_ON_SX要求は、デバイスがシステム スリープから復帰できるようにするための要件を示すために使用されます。
IOCTL_HID_FLUSH_QUEUE

IOCTL_HID_FLUSH_QUEUE要求は、最上位のコレクションの入力レポート キューから、解析されていないすべての入力レポートをデキューします。
IOCTL_HID_GET_COLLECTION_DESCRIPTOR

IOCTL_HID_GET_COLLECTION_DESCRIPTOR要求は、最上位のコレクションの準備されたデータを取得します。HID クラス ドライバーは、デバイスの初期化中に物理デバイスのレポート記述子から抽出されます。
IOCTL_HID_GET_COLLECTION_INFORMATION

IOCTL_HID_GET_COLLECTION_INFORMATION要求は、最上位レベルのコレクションのHID_COLLECTION_INFORMATION構造体を取得します。
IOCTL_HID_GET_DEVICE_ATTRIBUTES

IOCTL_HID_GET_DEVICE_ATTRIBUTES要求は、HID_DEVICE_ATTRIBUTES構造体内の HIDClass デバイスの属性を取得します。
IOCTL_HID_GET_DEVICE_DESCRIPTOR

IOCTL_HID_GET_DEVICE_DESCRIPTOR要求は、HIDClass デバイスの HID 記述子を取得します。
IOCTL_HID_GET_DRIVER_CONFIG

IOCTL_HID_GET_DRIVER_CONFIG要求は、ドライバー構成を取得します。
IOCTL_HID_GET_FEATURE

IOCTL_HID_GET_FEATURE要求は、最上位のコレクションに関連付けられている機能レポートを返します。
IOCTL_HID_GET_HARDWARE_ID

IOCTL_HID_GET_HARDWARE_ID要求は、最上位のコレクションのプラグ アンド プレイ ハードウェア ID を取得します。
IOCTL_HID_GET_INDEXED_STRING

IOCTL_HID_GET_INDEXED_STRING要求は、最上位のコレクションから指定された埋め込み文字列を取得します。
IOCTL_HID_GET_INPUT_REPORT

IOCTL_HID_GET_INPUT_REPORT要求は、最上位のコレクションから入力レポートを取得します。
IOCTL_HID_GET_MANUFACTURER_STRING

IOCTL_HID_GET_MANUFACTURER_STRING要求は、デバイスの製造元を識別する最上位のコレクションの埋め込み文字列を取得します。
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR

IOCTL_HID_GET_MS_GENRE_DESCRIPTOR要求は、デバイスのジャンル記述子を取得するために使用されます。
IOCTL_HID_GET_POLL_FREQUENCY_MSEC

IOCTL_HID_GET_POLL_FREQUENCY_MSEC要求は、最上位コレクションの現在のポーリング頻度をミリ秒単位で取得します。
IOCTL_HID_GET_PRODUCT_STRING

IOCTL_HID_GET_PRODUCT_STRING要求は、製造元の製品を識別する最上位のコレクションの埋め込み文字列を取得します。 取得した文字列は、人間が判読できる形式の NULL で終わるワイド文字列です。
IOCTL_HID_GET_REPORT_DESCRIPTOR

IOCTL_HID_GET_REPORT_DESCRIPTOR要求は、HIDClass デバイスのレポート記述子を取得します。
IOCTL_HID_GET_SERIALNUMBER_STRING

IOCTL_HID_GET_SERIALNUMBER_STRING要求は、デバイスのシリアル番号を識別する最上位のコレクションの埋め込み文字列を取得します。
IOCTL_HID_GET_STRING

IOCTL_HID_GET_STRING要求は、最上位のコレクションの製造元 ID、製品 ID、またはシリアル番号を取得します。 取得した文字列は、人間が判読できる形式の NULL で終わるワイド文字列です。
IOCTL_HID_READ_REPORT

IOCTL_HID_READ_REPORT要求は、HIDClass デバイスから HID クラス ドライバーのバッファーに入力レポートを転送します。
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST

IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST制御コードは、HIDClass が HIDUSB などの HID ミニ ドライバーに送信して、デバイスがアイドル状態になったことをバス ドライバーに通知するアイドル状態の通知要求 IRP の IOCTL です。
IOCTL_HID_SET_DRIVER_CONFIG

IOCTL_HID_SET_DRIVER_CONFIG要求は、ドライバーの構成を設定します。
IOCTL_HID_SET_FEATURE

IOCTL_HID_SET_FEATURE要求は、機能レポートを最上位のコレクションに送信します。
IOCTL_HID_SET_OUTPUT_REPORT

IOCTL_HID_SET_OUTPUT_REPORT要求は、最上位のコレクションに出力レポートを送信します。
IOCTL_HID_SET_POLL_FREQUENCY_MSEC

IOCTL_HID_SET_POLL_FREQUENCY_MSEC要求は、最上位のコレクションのポーリング頻度をミリ秒単位で設定します。
IOCTL_HID_SET_S0_IDLE_TIMEOUT

IOCTL_HID_SET_S0_IDLE_TIMEOUT要求は、クライアントの優先アイドル タイムアウト値について HID クラス ドライバーに通知するためにクライアントによって使用されます。
IOCTL_HID_WRITE_REPORT

IOCTL_HID_WRITE_REPORT要求は HID レポートを HIDClass デバイスに送信します。
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER

IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER要求はサポートされていません。
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD

IOCTL_INTERNAL_I8042_HOOK_KEYBOARD要求では、次の処理が行われます。I8042prt キーボード初期化ルーチンに初期化コールバック ルーチンを追加します。ISR コールバック ルーチンを I8042prt キーボード ISR に追加します初期化と ISR コールバックは省略可能であり、PS/2 スタイルのキーボード デバイスの上位レベルのフィルター ドライバーによって提供されます。I8042prt は、IOCTL_INTERNAL_KEYBOARD_CONNECT要求を受信すると、同期IOCTL_INTERNAL_I8042_HOOK_KEYBOARD要求をキーボード デバイス スタックの先頭に送信します。Kbfiltr がフック キーボード要求を受け取った後、 Kbfiltr は次の方法で要求をフィルター処理します。Kbfiltr に渡される上位レベルの情報を保存します。これには、上位レベルのデバイス オブジェクトのコンテキスト、初期化コールバックへのポインター、ISR コールバックへのポインターが含まれます。 I8042prt コールバック ルーチンKbfiltr コールバック ルーチンに関するトピックを参照してください。
IOCTL_INTERNAL_I8042_HOOK_MOUSE

IOCTL_INTERNAL_I8042_HOOK_MOUSE要求は、I8042prt マウス ISR に ISR コールバック ルーチンを追加します。
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION

IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION要求は、キーボード割り込みオブジェクトへのポインターを渡します。
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER

IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER要求は、キーボード デバイスの操作を制御するために i8042 ポート コントローラーにデータを書き込みます。
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION

IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION要求は、マウス割り込みオブジェクトへのポインターを渡します。
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER

IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER要求は、マウス デバイスの操作を制御するために i8042 ポート コントローラーにデータを書き込みます。
IOCTL_INTERNAL_KEYBOARD_CONNECT

IOCTL_INTERNAL_KEYBOARD_CONNECT要求は、Kbdclass サービスをキーボード デバイスに接続します。
IOCTL_INTERNAL_KEYBOARD_DISCONNECT

IOCTL_INTERNAL_KEYBOARD_DISCONNECT要求は、STATUS_NOT_IMPLEMENTEDの状態で完了します。 プラグ アンド プレイ キーボードは、プラグ アンド プレイ マネージャーによって追加または削除できることに注意してください。
IOCTL_INTERNAL_MOUSE_CONNECT

IOCTL_INTERNAL_MOUSE_CONNECT要求は、Mouclass サービスをマウス デバイスに接続します。
IOCTL_INTERNAL_MOUSE_DISCONNECT

IOCTL_INTERNAL_MOUSE_DISCONNECT要求は、エラー状態が STATUS_NOT_IMPLEMENTED の Moufiltr によって完了します。
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS

IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS要求は、最上位コレクションの入力レポート キューのバッファーの数を設定します。
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR

IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR制御コードは、HIDClass デバイスの物理記述子を取得します。
IOCTL_UMDF_HID_GET_FEATURE

IOCTL_UMDF_HID_GET_FEATUREコントロール コードは、HIDClass デバイスから機能レポートを取得します。
IOCTL_UMDF_HID_GET_INPUT_REPORT

IOCTL_UMDF_HID_GET_INPUT_REPORTコントロール コードは、HIDClass デバイスから入力レポートを返します。
IOCTL_UMDF_HID_SET_FEATURE

IOCTL_UMDF_HID_GET_FEATUREコントロール コードは、機能レポートを HIDClass デバイスに送信します。
IOCTL_UMDF_HID_SET_OUTPUT_REPORT

IOCTL_UMDF_HID_SET_OUTPUT_REPORTコントロール コードは、出力レポートを最上位のコレクションに送信します。

列挙

 
HIDP_REPORT_TYPE

HIDP_REPORT_TYPE列挙型は、HID レポートの種類を指定するために使用されます。
KEYBOARD_SCAN_STATE

KEYBOARD_SCAN_STATE列挙型は、キーボードからの入力バイトのスキャン状態を示します。
MOUSE_STATE

MOUSE_STATE列挙型は、マウスからの入力の現在の状態を識別します。

関数

 
EVT_HIDSPICX_NOTIFY_POWERDOWN

詳細情報: EVT_HIDSPICX_NOTIFY_POWERDOWN
EVT_HIDSPICX_RESETDEVICE

詳細情報: EVT_HIDSPICX_RESETDEVICE
EVT_VHF_ASYNC_OPERATION

HID ソース ドライバーは、HID レポートを取得および設定する 4 つの非同期操作のいずれかをサポートする場合に、このイベント コールバックを実装します。
EVT_VHF_CLEANUP

HID ソース ドライバーは、このイベント コールバックを実装して、仮想 HID デバイスに割り当てられたドライバーの可能性があるリソースを解放します。
EVT_VHF_READY_FOR_NEXT_READ_REPORT

HID ソース ドライバーは、このイベントコールバック関数を実装して HID 入力レポートのバッファリング スキームを使用し、次のレポートを VHF に送信できる場合に通知を受け取ります。
HidD_FlushQueue

HidD_FlushQueue ルーチンは、最上位のコレクションの入力キュー内のすべての保留中の入力レポートを削除します。
HidD_FreePreparsedData

HidD_FreePreparsedData ルーチンは、HID クラス ドライバーが最上位レベルのコレクションの準備されたデータを保持するために割り当てたリソースを解放します。
HidD_GetAttributes

HidD_GetAttributes ルーチンは、指定した最上位コレクションの属性を返します。
HidD_GetFeature

HidD_GetFeature ルーチンは、指定した最上位コレクションから特徴レポートを返します。
HidD_GetHidGuid

HidD_GetHidGuid ルーチンは、HIDClass デバイスのデバイス インターフェイスGUID を返します。
HidD_GetIndexedString

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

HidD_GetInputReport ルーチンは、最上位のコレクションから入力レポートを返します。
HidD_GetManufacturerString

HidD_GetManufacturerString ルーチンは、製造元を識別する最上位のコレクションの埋め込み文字列を返します。
HidD_GetNumInputBuffers

HidD_GetNumInputBuffers ルーチンは、HID クラス ドライバーが指定した最上位コレクションからの入力レポートをキューに格納するために使用するリング バッファーの現在のサイズ (レポート数) を返します。
HidD_GetPhysicalDescriptor

HidD_GetPhysicalDescriptor ルーチンは、コレクションの物理デバイスを識別する最上位のコレクションの埋め込み文字列を返します。
HidD_GetPreparsedData

HidD_GetPreparsedData ルーチンは、最上位レベルのコレクションの準備されたデータを返します。
HidD_GetProductString

HidD_GetProductString ルーチンは、製造元の製品を識別する最上位のコレクションの埋め込み文字列を返します。
HidD_GetSerialNumberString

HidD_GetSerialNumberString ルーチンは、コレクションの物理デバイスのシリアル番号を識別する最上位のコレクションの埋め込み文字列を返します。
HidD_SetFeature

HidD_SetFeature ルーチンは、最上位レベルのコレクションに機能レポートを送信します。
HidD_SetNumInputBuffers

HidD_SetNumInputBuffers ルーチンは、HID クラス ドライバー リング バッファーが指定した最上位レベルのコレクションに保持できる入力レポートの最大数を設定します。
HidD_SetOutputReport

HidD_SetOutputReport ルーチンは、最上位レベルのコレクションに出力レポートを送信します。
HidP_GetButtonArray

HidP_GetButtonArrayは、指定したレポートのHIDP_BUTTON_ARRAY_DATA構造体の配列を返します。
HidP_GetButtonCaps

HidP_GetButtonCaps ルーチンは、指定した種類の HID レポートの最上位コレクション内のすべての HID コントロール ボタンを記述するボタン機能配列を返します。
HidP_GetButtons

HidP_GetButtons マクロは、HHidP_GetUsages関数のニーモニック エイリアスです。
HidP_GetButtonsEx

HidP_GetButtonsEx マクロは、HidP_GetUsagesEx関数のニーモニック エイリアスです。
HidP_GetCaps

HidP_GetCaps ルーチンは、最上位レベルのコレクションのHIDP_CAPS構造体を返します。 このルーチンは hidpi.h にあります。
HidP_GetCollectionDescription

デバイス記述ブロックにコレクションの説明と、指定したレポート記述子の対応するレポート ID 情報を入力します。
HidP_GetData

HidP_GetData ルーチンは、指定したレポートに対して、現在 ON (1) に設定されているすべての HID コントロール ボタンのデータ インデックスを識別するHIDP_DATA構造体の配列と、すべての HID コントロール値に関連付けられているデータ インデックスとデータを返します。
HidP_GetExtendedAttributes

HidP_GetExtendedAttributes ルーチンは、HID コントロールの拡張属性を返します。
HidP_GetLinkCollectionNodes

HidP_GetLinkCollectionNodes ルーチンは、最上位のコレクションのリンク コレクション配列を返します。
HidP_GetScaledUsageValue

HidP_GetScaledUsageValue ルーチンは、HID レポートから抽出された HID コントロール値の符号付きおよびスケーリングされた結果を返します。
HidP_GetSpecificButtonCaps

HidP_GetSpecificButtonCaps ルーチンは、指定した選択基準を満たす最上位のコレクション内のすべての HID コントロール ボタンを記述するボタン機能配列を返します。
HidP_GetSpecificValueCaps

HidP_GetSpecificValueCaps ルーチンは、指定した選択基準を満たすすべての HID コントロール値を記述する値機能配列を返します。
HidP_GetUsages

HidP_GetUsages ルーチンは、指定した使用状況ページ上にあり、HID レポートで ON に設定されているすべての HID コントロール ボタンの使用状況の一覧を返します。
HidP_GetUsagesEx

HidP_GetUsagesEx ルーチンは、HID レポートで ON に設定されているすべての HID コントロール ボタンの使用状況の一覧を返します。
HidP_GetUsageValue

HidP_GetUsageValue ルーチンは、HID レポートの選択条件に一致する HID コントロール値に関連付けられているデータを抽出します。
HidP_GetUsageValueArray

HidP_GetUsageValueArray ルーチンは、HID コントロールの使用値配列に関連付けられているデータを HID レポートから抽出します。
HidP_GetValueCaps

HidP_GetValueCaps ルーチンは、指定した種類の HID レポートの最上位コレクション内のすべての HID コントロール値を記述する値機能配列を返します。
HidP_GetVersion

HidP_GetVersion関数は、HID API バージョンを返すヘッダーのみの実装です。
HidP_InitializeReportForID

HidP_InitializeReportForID ルーチンは HID レポートを初期化します。
HidP_MaxDataListLength

HidP_MaxDataListLength ルーチンは、指定した種類の HID レポートと指定した最上位コレクションHidP_GetData返すことができるHIDP_DATA構造体の最大数を返します。
HidP_MaxUsageListLength

HidP_MaxUsageListLength ルーチンは、指定した種類の HID レポートと指定した最上位コレクションHidP_GetUsages返すことができる HID 使用法の最大数を返します。
HidP_SetButtonArray

HidP_SetButtonArray関数は、HIDP_BUTTON_ARRAY_DATA構造体の配列を使用してボタンの状態を設定します。
HidP_SetButtons

HidP_SetButtons マクロは、HidP_SetUsages関数のニーモニック エイリアスです。
HidP_SetData

HidP_SetData ルーチンは、HID レポートで指定された HID コントロール ボタンと値の使用法のセットを設定します。
HidP_SetScaledUsageValue

HidP_SetScaledUsageValue ルーチンは、符号付きおよびスケーリングされた物理番号を HID 使用法の論理値に変換し、指定した HID レポートの使用状況値を設定します。
HidP_SetUsages

HidP_SetUsages ルーチンは、HID レポートで指定された HID コントロール ボタン ON (1) を設定します。
HidP_SetUsageValue

HidP_SetUsageValue ルーチンは、指定した HID レポートの HID コントロール値を設定します。
HidP_SetUsageValueArray

HidP_SetUsageValueArray ルーチンは、指定した HID レポートで HID コントロールの使用値配列を設定します。
HidP_TranslateUsagesToI8042ScanCodes

HidP_TranslateUsagesToI8042ScanCodes ルーチンは、HID_USAGE_PAGE_KEYBOARD使用状況ページの HID 使用法の一覧を、それぞれの PS/2 スキャン コード (スキャン コード セット 1) にマップします。
HidP_UnsetButtons

HidP_UnsetButtons マクロは、HidP_UnsetUsages関数のニーモニック エイリアスです。
HidP_UnsetUsages

HidP_UnsetUsages ルーチンは、HID レポートで指定された HID コントロール ボタンの使用法を OFF (ゼロ) に設定します。
HidP_UsageAndPageListDifference

HidP_UsageAndPageListDifference関数は、使用法の 2 つのリストの違いを返します。
HidP_UsageListDifference

HidP_UsageListDifference ルーチンは、HID 使用法の 2 つの配列の違いを返します。
HidRegisterMinidriver

HIDRegisterMinidriver ルーチンは、HID クラス ドライバーに登録するために、初期化中に HID ミニドライバーによって呼び出されます。
HIDSPICX_DEVICE_CONFIG_INIT

詳細情報: HIDSPICX_DEVICE_CONFIG_INIT
HidSpiCxDeviceConfigure

詳細情報: HidSpiCxDeviceConfigure
HidSpiCxDeviceInitConfig

詳細情報: HidSpiCxDeviceInitConfig
HidSpiCxNotifyDeviceReset

詳細情報: HidSpiCxNotifyDeviceReset
PHIDP_GETCAPS

HidP_GetCaps ルーチンは、最上位レベルのコレクションのHIDP_CAPS構造体を返します。 このルーチンは hidclass.h にあります。
PI8042_ISR_WRITE_PORT

PI8042_ISR_WRITE_PORT型のコールバック ルーチンは、i8042 ポートにデータを書き込みます。 I8042prt では、このコールバックが提供されます。
PI8042_KEYBOARD_INITIALIZATION_ROUTINE

PI8042_KEYBOARD_INITIALIZATION_ROUTINE型のコールバック ルーチンは、I8042prt によるキーボード デバイスの既定の初期化を補完します。
PI8042_KEYBOARD_ISR

PI8042_KEYBOARD_ISR型コールバック ルーチンは、I8042prt キーボード ISR の操作をカスタマイズします。
PI8042_MOUSE_ISR

PI8042_MOUSE_ISR型コールバック ルーチンは、I8042prt マウス ISR の操作をカスタマイズします。
PI8042_QUEUE_PACKET

PI8042_QUEUE_PACKET型コールバック ルーチンは、キーボードまたはマウス デバイスの ISR DPC による処理のために入力データ パケットをキューに入れます。 I8042prt では、このコールバックが提供されます。
PI8042_SYNCH_READ_PORT

PI8042_SYNCH_READ_PORT型コールバック ルーチンは、i8042 ポートから同期読み取りを行います。 I8042prt はこのコールバックを提供します。
PI8042_SYNCH_WRITE_PORT

PI8042_SYNCH_READ_PORT型コールバック ルーチンは、i8042 ポートへの同期された書き込みを行います。 I8042prt はこのルーチンを提供します。
PSERVICE_CALLBACK_ROUTINE

関数ドライバーは、ISR ディスパッチ完了ルーチンでクラス サービス コールバックを呼び出します。 クラス サービス コールバックは、デバイスの入力データ バッファーからクラス データ キューに入力データを転送します。
VHF_CONFIG_INIT

HID ソース ドライバーによって割り当てられたVHF_CONFIG構造体の必須メンバーを初期化するには、VHF_CONFIG_INIT関数を使用します。
VhfAsyncOperationComplete

HID ソース ドライバーは、非同期操作の結果を設定するには、このメソッドを呼び出します。
VhfCreate

HID ソース ドライバーは、このメソッドを呼び出して仮想 HID デバイスを作成します。
VhfDelete

HID ソース デバイス ドライバーは、このメソッドを呼び出して、VHF デバイスを削除します。
VhfReadReportSubmit

HID ソース ドライバーは、このメソッドを呼び出して、HID 読み取り (入力) レポートを Virtual HID Framework (VHF) に送信します。
VhfStart

HID ソース ドライバーは、このメソッドを呼び出して、仮想 HID デバイスを起動します。

構造

 
CONNECT_DATA

CONNECT_DATAは、Kbdclass と Mouclass がキーボードまたはマウス ポートへの接続に使用する情報を指定します。
HID_COLLECTION_INFORMATION

HID_COLLECTION_INFORMATION構造体には、最上位のコレクションに関する一般的な情報が含まれています。
HID_DESCRIPTOR

HID_DESCRIPTOR構造体は、HIDClass デバイスの HID 記述子を表します。
HID_DEVICE_ATTRIBUTES

HID_DEVICE_ATTRIBUTES構造体には、HIDClass デバイスに関する情報が含まれています。
HID_DEVICE_EXTENSION

HID_DEVICE_EXTENSION構造体は、HIDClass デバイスの機能デバイス オブジェクトのデバイス拡張機能のレイアウトとして HID ミニドライバーによって使用されます。
HID_MINIDRIVER_REGISTRATION

HID_MINIDRIVER_REGISTRATION構造体には、HID ミニドライバーがクラス ドライバーに登録するときに HID ミニドライバーが HID クライアント ドライバーに渡す登録情報が含まれています。
HID_XFER_PACKET

hidclass.he のHID_XFER_PACKET構造体には、HID クラス ドライバーがレポートを取得または設定するために I/O 要求と共に使用する HID レポートに関する情報が含まれています。
HID_XFER_PACKET

vhf.h のHID_XFER_PACKET構造体には、HID クラス ドライバーが I/O 要求と共に使用してレポートを取得または設定する HID レポートに関する情報が含まれています。
HIDD_ATTRIBUTES

HIDD_ATTRIBUTES構造体には、HIDClass デバイスに関するベンダー情報が含まれています。
HIDP_BUTTON_ARRAY_DATA

HIDP_BUTTON_ARRAY_DATA構造体は、ボタン配列内の単一ボタンのデータを取得または設定するために使用されます。
HIDP_BUTTON_CAPS

HIDP_BUTTON_CAPS構造体には、HID コントロール ボタンの使用 (または使用範囲に関連付けられているボタンのセット) の機能に関する情報が含まれています。
HIDP_CAPS

HIDP_CAPS構造体には、最上位レベルのコレクションの機能に関する情報が含まれています。
HIDP_COLLECTION_DESC

最上位レベルのコレクションの情報を格納します。 この構造体は、HidP_GetCollectionDescription呼び出しで使用されます。
HIDP_DATA

HIDP_DATA構造体には、HID コントロールのデータ インデックスと HID レポートの値に関する情報が含まれています。
HIDP_DEVICE_DESC

コレクションの説明にリンク リストとして入力されたデバイスの説明ブロックが含まれます。 この構造体は、HidP_GetCollectionDescriptionによって使用されます。
HIDP_EXTENDED_ATTRIBUTES

HIDP_EXTENDED_ATTRIBUTES構造体には、HID パーサーが認識しなかった HID コントロールに対して指定されたグローバル項目に関する情報が含まれています。
HIDP_GETCOLDESC_DBG

レポート記述子の解析エラーを示すエラー コードが含まれます。 この構造体は、HidP_GetCollectionDescription呼び出しで使用されます。
HIDP_LINK_COLLECTION_NODE

HIDP_LINK_COLLECTION_NODE構造体には、最上位のコレクションのリンク コレクション配列内のリンク コレクションに関する情報が含まれています。
HIDP_REPORT_IDS

最上位レベルのコレクションのレポート ID 情報が含まれます。
HIDP_UNKNOWN_TOKEN

HIDP_UNKNOWN_TOKEN構造体には、HID パーサーが認識しなかったグローバル項目に関する情報が含まれています。
HIDP_VALUE_CAPS

HIDP_VALUE_CAPS構造体には、HID コントロール値のセット (単一の使用法または使用範囲) の機能を説明する情報が含まれています。
HIDSPICX_DEVICE_CONFIG

詳細情報: HIDSPICX_DEVICE_CONFIG
HIDSPICX_DRIVER_GLOBALS

詳細情報: HIDSPICX_DRIVER_GLOBALS
HIDSPICX_REPORT

詳細情報: HIDSPICX_REPORT
INTERNAL_I8042_HOOK_KEYBOARD

INTERNAL_I8042_HOOK_KEYBOARDは、キーボードの初期化とキーボード ISR を補完するオプションのコールバック ルーチンを接続するために I8042prt によって使用されます。 コールバックは、オプションのベンダー指定の上位レベルのフィルター ドライバーによって提供できます。
INTERNAL_I8042_HOOK_MOUSE

INTERNAL_I8042_HOOK_MOUSEは、マウス ISR の操作を補完するオプションのコールバック ルーチンを接続するために I8042prt によって使用されます。 コールバックは、オプションのベンダー指定の上位レベルのフィルター ドライバーによって指定できます。
INTERNAL_I8042_START_INFORMATION

INTERNAL_I8042_START_INFORMATIONは、オプションのベンダー指定の上位レベルのフィルター デバイス ドライバーが、その操作を I8042prt ISR と同期するために使用できる割り込みオブジェクトを指定します。
OUTPUT_PACKET

OUTPUT_PACKETには、I8042prt によってキーボードまたはマウス デバイスに書き込まれるデータに関する情報が含まれています。
USAGE_AND_PAGE

USAGE_AND_PAGE構造体は、HID コントロールの使用状況ページと使用状況 ID を指定します。
VHF_CONFIG

VhfCreate を呼び出して仮想 HID デバイスを作成するときに HID ソース ドライバーによって提供される初期構成情報が含まれます。