人類介面裝置 (HID)

人類介面裝置 (HID) 技術的概觀。

若要開發人類介面裝置 (HID) ,您需要下列標頭:

如需程式設計指南,請參閱 人類介面裝置 (HID)

如需 Win32 HID 程式設計 API,請參閱 Win32 人為介面裝置參考

本節包含與人類介面裝置 (或 HID) 相關的程式設計介面。 一般而言,這些是人類用來直接控制電腦系統的作業的裝置。

HIDClass 支援常式

有系統提供的常式可供使用者模式應用程式、核心模式驅動程式和 HID 迷你驅動程式用來在 HIDClass 裝置安裝類別中操作裝置。

一般規則是使用者模式應用程式可以使用HidD_Xxx和HidP_Xxx常式。 不過,核心模式驅動程式只能呼叫HidP_Xxx常式。

HID minidrivers 只使用 HidRegisterMinidriver 常式。

針對Windows 8.1 Microsoft 引進了新的 Windows.Devices.HumanInterfaceDevice API,可讓您撰寫可存取 HID 裝置的 Windows 應用程式。

標頭會定義 HID 迷你驅動程式必須支援的 IOCTLs。 只有 HID 類別驅動程式會將這些 IOCTL 傳送至 HID 迷你驅動程式。 使用者模式應用程式和其他核心模式驅動程式只能使用 HIDClass 支援常式和 HID 類別驅動程式 IOCTLs 與 HID 集合通訊。

HID Minidriver IOCTLs

HID 迷你驅動程式必須處理一組 IOCTLs。 只有 HID 類別驅動程式會將這些 IOCTL 傳送至 HID 迷你驅動程式。 使用者模式應用程式和其他核心模式驅動程式只能使用 HIDClass 支援常式和 HID 類別驅動程式 IOCTLs 與 HID 集合通訊。

主題 描述
IOCTL_HID_ACTI加值稅E_DEVICE IOCTL_HID_ACTI加值稅E_DEVICE要求會啟動 HIDClass 裝置,使其準備好進行 I/O 作業。
IOCTL_HID_DEACTI加值稅E_DEVICE IOCTL_HID_DEACTI加值稅E_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要求會取得最上層集合的製造商識別碼、產品識別碼或序號。 擷取的字串是以人類可讀的格式,以 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 類別驅動程式 IOCTLs

HID 類別驅動程式會處理 IOCTL 以支援最上層集合。

雖然使用者應用程式可以使用HIDD_XXX HIDClass 支援常式來與 HID 類別驅動程式通訊,但核心模式驅動程式必須傳送本節所述的對應裝置控制要求。

輸入和輸出參數是要求特定的。

完成要求時,I/O 狀態欄塊成員會設定如下:

Status成員是由 HID 類別驅動程式針對它處理的所有要求所設定。

如每個 IOCTL 所述,資訊成員是由類別驅動程式或較低層級驅動程式所設定。 一般而言,當較低層級的驅動程式從裝置或裝置傳輸資料時,較低層級的驅動程式會將資訊設定為傳輸的位元組數目。 不過,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 HID 用戶端驅動程式會將IOCTL_HID_DEVICERESET_NOTIFICATION要求傳送至 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要求會取得最上層集合的隨插即用硬體識別碼。
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要求會設定最上層集合的輪詢頻率,以毫秒為單位。 在輪詢的裝置上執行不規則、不透明讀取的使用者模式應用程式或核心模式驅動程式,必須回應零的輪詢間隔。 在這種情況下,IOCTL_HID_SET_POLL_FREQUENCY_MSEC實際上不會變更裝置的輪詢頻率;但如果報表資料在讀取時未過時,則會立即完成讀取,並立即使用所指示集合的最新報表資料。 如果報表資料過時,則會立即重新整理,而不需要等候輪詢間隔到期,而且讀取會以新的資料完成。 如果 IRP 中提供的輪詢間隔值不是零,它必須是 > = 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 類別驅動程式至少需要兩個輸入緩衝區。 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 報告,則會實作此事件回呼。
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_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS要求會取得最上層集合的輸入報告佇列大小。
IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL IOCTL_GET_PHYSICAL_DESCRIPTOR要求會取得最上層集合的實體描述元。 對於迷你驅動程式,此描述項是 HIDClass 裝置的描述項。
IOCTL_HID_ACTI加值稅E_DEVICE IOCTL IOCTL_HID_ACTI加值稅E_DEVICE要求會啟動 HIDClass 裝置,使其準備好進行 I/O 作業。
IOCTL_HID_DEACTI加值稅E_DEVICE IOCTL IOCTL_HID_DEACTI加值稅E_DEVICE要求會停用 HIDClass 裝置,這會導致它停止作業並終止所有未處理的 I/O 要求。
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL HID 用戶端驅動程式會將IOCTL_HID_DEVICERESET_NOTIFICATION要求傳送至 HID 類別驅動程式,以等候裝置起始的重設事件。
IOCTL_HID_DISABLE_SECURE_READ IOCTL IOCTL_HID_DISABLE_SECURE_READ要求會取消 HID 集合的IOCTL_HID_ENABLE_SECURE_READ要求。
IOCTL_HID_ENABLE_SECURE_READ IOCTL IOCTL_HID_ENABLE_SECURE_READ要求可針對 HID 集合的開啟檔案啟用安全讀取。
IOCTL_HID_ENABLE_WAKE_ON_SX IOCTL IOCTL_HID_ENABLE_WAKE_ON_SX要求可用來指出裝置能夠從系統睡眠喚醒的需求。
IOCTL_HID_FLUSH_QUEUE IOCTL IOCTL_HID_FLUSH_QUEUE要求會從最上層集合的輸入報告佇列中清除所有未剖析的輸入報告。
IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL IOCTL_HID_GET_COLLECTION_DESCRIPTOR要求會取得最上層集合的預先剖析資料,而 HID 類別驅動程式會在裝置初始化期間從實體裝置的報告描述項中擷取。
IOCTL_HID_GET_COLLECTION_INFORMATION IOCTL IOCTL_HID_GET_COLLECTION_INFORMATION要求會取得最上層集合的HID_COLLECTION_INFORMATION結構。
IOCTL_HID_GET_DEVICE_ATTRIBUTES IOCTL IOCTL_HID_GET_DEVICE_ATTRIBUTES要求會取得HID_DEVICE_ATTRIBUTES結構中的 HIDClass 裝置屬性。
IOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL IOCTL_HID_GET_DEVICE_DESCRIPTOR要求會取得 HIDClass 裝置的 HID 描述元。
IOCTL_HID_GET_DRIVER_CONFIG IOCTL IOCTL_HID_GET_DRIVER_CONFIG要求會擷取驅動程式組態。
IOCTL_HID_GET_FEATURE IOCTL IOCTL_HID_GET_FEATURE要求會傳回與最上層集合相關聯的功能報告。
IOCTL_HID_GET_HARDWARE_ID IOCTL IOCTL_HID_GET_HARDWARE_ID要求會取得最上層集合的隨插即用硬體識別碼。
IOCTL_HID_GET_INDEXED_STRING IOCTL IOCTL_HID_GET_INDEXED_STRING要求會從最上層集合取得指定的內嵌字串。
IOCTL_HID_GET_INPUT_REPORT IOCTL IOCTL_HID_GET_INPUT_REPORT要求會從最上層集合取得輸入報告。
IOCTL_HID_GET_MANUFACTURER_STRING IOCTL IOCTL_HID_GET_MANUFACTURER_STRING要求會取得最上層集合的內嵌字串,以識別裝置製造商。
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR IOCTL IOCTL_HID_GET_MS_GENRE_DESCRIPTOR要求用於擷取裝置的內容類型描述元。
IOCTL_HID_GET_POLL_FREQUENCY_MSEC IOCTL 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_HID_GET_SERIALNUMBER_STRING IOCTL IOCTL_HID_GET_SERIALNUMBER_STRING要求會取得最上層集合的內嵌字串,以識別裝置的序號。
IOCTL_HID_GET_STRING IOCTL IOCTL_HID_GET_STRING要求會取得最上層集合的製造商識別碼、產品識別碼或序號。 擷取的字串是以人類可讀的格式,以 Null 終止的寬字元字串。
IOCTL_HID_READ_REPORT IOCTL IOCTL_HID_READ_REPORT要求會將輸入報告從 HIDClass 裝置傳輸到 HID 類別驅動程式的緩衝區。
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST IOCTL IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST控制程式代碼是 HIDClass 傳送至 HID 迷你驅動程式的閒置通知要求 IRP IOCTL,例如 HIDUSB,以通知匯流排驅動程式裝置現在閒置。
IOCTL_HID_SET_DRIVER_CONFIG IOCTL IOCTL_HID_SET_DRIVER_CONFIG要求會設定驅動程式組態。
IOCTL_HID_SET_FEATURE IOCTL IOCTL_HID_SET_FEATURE要求會將功能報表傳送至最上層集合。
IOCTL_HID_SET_OUTPUT_REPORT IOCTL IOCTL_HID_SET_OUTPUT_REPORT要求會將輸出報表傳送至最上層集合。
IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL IOCTL_HID_SET_POLL_FREQUENCY_MSEC要求會設定最上層集合的輪詢頻率,以毫秒為單位。
IOCTL_HID_SET_S0_IDLE_TIMEOUT IOCTL 用戶端會使用IOCTL_HID_SET_S0_IDLE_TIMEOUT要求,通知 HID 類別驅動程式有關用戶端慣用的閒置逾時值。
IOCTL_HID_WRITE_REPORT IOCTL IOCTL_HID_WRITE_REPORT要求會將 HID 報告傳送至 HIDClass 裝置。
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER IOCTL 不支援IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER要求。
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL IOCTL_INTERNAL_I8042_HOOK_KEYBOARD要求會執行下列動作
IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL IOCTL_INTERNAL_I8042_HOOK_MOUSE要求會將 ISR 回呼常式新增至 I8042prt 滑鼠 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_INTERNAL_I8042_MOUSE_START_INFORMATION IOCTL IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION要求會將指標傳遞至滑鼠中斷物件。
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER IOCTL IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER要求將資料寫入 i8042 埠控制器,以控制滑鼠裝置的作業。
IOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL IOCTL_INTERNAL_KEYBOARD_CONNECT要求會將 Kbdclass 服務連線到鍵盤裝置。
IOCTL_INTERNAL_KEYBOARD_DISCONNECT IOCTL IOCTL_INTERNAL_KEYBOARD_DISCONNECT要求已完成,狀態為 STATUS_NOT_IMPLEMENTED。 請注意,隨插即用鍵盤可由隨插即用管理員新增或移除。
IOCTL_INTERNAL_MOUSE_CONNECT IOCTL IOCTL_INTERNAL_MOUSE_CONNECT要求會將一個 AzureClass 服務連線到滑鼠裝置。
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL IOCTL_INTERNAL_MOUSE_DISCONNECT要求是由一個錯誤狀態為 STATUS_NOT_IMPLEMENTED 的STATUS_NOT_IMPLEMENTED完成。
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS要求會設定最上層集合之輸入報表佇列的緩衝區數目。
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR IOCTL IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR控制項程式碼會取得 HIDClass 裝置的實體描述元。
IOCTL_UMDF_HID_GET_FEATURE IOCTL IOCTL_UMDF_HID_GET_FEATURE控制項程式碼會從 HIDClass 裝置取得功能報告。
IOCTL_UMDF_HID_GET_INPUT_REPORT IOCTL IOCTL_UMDF_HID_GET_INPUT_REPORT控制項程式碼會從 HIDClass 裝置傳回輸入報告。
IOCTL_UMDF_HID_SET_FEATURE IOCTL IOCTL_UMDF_HID_GET_FEATURE控制項程式碼會將功能報表傳送至 HIDClass 裝置。
IOCTL_UMDF_HID_SET_OUTPUT_REPORT IOCTL IOCTL_UMDF_HID_SET_OUTPUT_REPORT控制項程式碼會將輸出報表傳送至最上層集合。

IOCTLs

 
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS

IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS要求會取得最上層集合的輸入報表佇列大小。
IOCTL_GET_PHYSICAL_DESCRIPTOR

IOCTL_GET_PHYSICAL_DESCRIPTOR要求會取得最上層集合的實體描述元。 對於 minidriver,此描述元是 HIDClass 裝置的描述項。
IOCTL_HID_ACTI加值稅E_DEVICE

IOCTL_HID_ACTI加值稅E_DEVICE要求會啟動 HIDClass 裝置,使其準備好進行 I/O 作業。
IOCTL_HID_DEACTI加值稅E_DEVICE

IOCTL_HID_DEACTI加值稅E_DEVICE要求會停用 HIDClass 裝置,導致其停止作業並終止所有未處理的 I/O 要求。
IOCTL_HID_DEVICERESET_NOTIFICATION

HID 用戶端驅動程式會將IOCTL_HID_DEVICERESET_NOTIFICATION要求傳送至 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要求會取得最上層集合的隨插即用硬體識別碼。
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要求會取得最上層集合的製造商識別碼、產品識別碼或序號。 擷取的字串是以人類可讀取的格式,以 Null 終止的寬字元字串。
IOCTL_HID_READ_REPORT

IOCTL_HID_READ_REPORT要求會將輸入報告從 HIDClass 裝置傳輸到 HID 類別驅動程式的緩衝區。
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST

IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST控制程式代碼是 HIDClass 傳送至 HID mini 驅動程式的閒置通知要求 IRP IOCTL,例如 HIDUSB,以通知匯流排驅動程式裝置現在已閒置。
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 ISR 回呼可以使用的回呼指標。如需此要求和回呼的詳細資訊,請參閱 請參閱下列主題:I8042prt Callback 常式Kbfiltr 回呼常式。
IOCTL_INTERNAL_I8042_HOOK_MOUSE

IOCTL_INTERNAL_I8042_HOOK_MOUSE要求會將 ISR 回呼常式新增至 I8042prt 滑鼠 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要求會將IOCTL_INTERNAL_MOUSE_CONNECT服務連線到滑鼠裝置。
IOCTL_INTERNAL_MOUSE_DISCONNECT

IOCTL_INTERNAL_MOUSE_DISCONNECT要求是由STATUS_NOT_IMPLEMENTED錯誤狀態的STATUS_NOT_IMPLEMENTED者完成。
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 報告,則會實作此事件回呼。
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

使用集合描述和指定之報表描述元的對應報表識別碼資訊填入裝置描述區塊。
HidP_GetData

HidP_GetData常式會針對指定的報表傳回HIDP_DATA結構的陣列,可識別目前設定為 ON (1) 的所有 HID 控制項按鈕的資料索引,以及與所有 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 控制項按鈕使用方式的清單,並設定為 HID 報表中的 ON。
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常式會傳回HidP_GetData可以針對指定類型的 HID 報表和指定的最上層集合傳回的最大HIDP_DATA結構數目。
HidP_MaxUsageListLength

HidP_MaxUsageListLength常式會傳回HidP_GetUsages可以針對指定類型的 HID 報表和指定的最上層集合傳回的 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 報表中設定 (1) 上指定的 HID 控制項按鈕。
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函式會傳回兩個使用方式清單之間的差異。
HidP_UsageListDifference

HidP_UsageListDifference常式會傳回兩個 HID 使用方式陣列之間的差異。
HidRegisterMinidriver

HidRegisterMinidriver 常式是由 HID minidrivers 在其初始化期間呼叫,以向 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

使用 VHF_CONFIG_INIT 函式,初始化 HID 來源驅動程式所配置之VHF_CONFIG結構的必要成員。
VhfAsyncOperationComplete

HID 來源驅動程式會呼叫這個方法來設定非同步作業的結果。
VhfCreate

HID 來源驅動程式會呼叫這個方法來建立虛擬 HID 裝置。
VhfDelete

HID 來源設備磁碟機會呼叫這個方法來刪除 VHF 裝置。
VhfReadReportSubmit

HID 來源驅動程式會呼叫此方法,將 HID 讀取 (輸入) 報表提交至虛擬 HID Framework (VHF) 。
VhfStart

HID 來源驅動程式會呼叫這個方法來啟動虛擬 HID 裝置。

結構

 
CONNECT_DATA

CONNECT_DATA會指定 Kbdclass 和,其用來連線到鍵盤或滑鼠連接埠的資訊。
HID_COLLECTION_INFORMATION

HID_COLLECTION_INFORMATION 結構包含最上層集合的一般資訊。
HID_DESCRIPTOR

HID_DESCRIPTOR 結構代表 HIDClass 裝置的 HID 描述項。
HID_DEVICE_ATTRIBUTES

HID_DEVICE_ATTRIBUTES結構包含 HIDClass 裝置的相關資訊。
HID_DEVICE_EXTENSION

HID 迷你驅動程式會使用HID_DEVICE_EXTENSION結構作為 HIDClass 裝置功能裝置物件的裝置擴充功能配置。
HID_MINIDRIVER_REGISTRATION

HID_MINIDRIVER_REGISTRATION 結構包含 HID 迷你驅動程式在迷你驅動程式向類別驅動程式註冊時傳遞至 HID 用戶端驅動程式的註冊資訊。
HID_XFER_PACKET

hidclass 中的HID_XFER_PACKET結構。he 包含 HID 類別驅動程式搭配 I/O 要求來取得或設定報表的 HID 報告相關資訊。
HID_XFER_PACKET

vhf.h 中的HID_XFER_PACKET結構包含 HID 報表的相關資訊,HID 類別驅動程式會搭配 I/O 要求來取得或設定報表。
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

包含最上層集合的報表識別碼資訊。
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

I8042prt 會使用INTERNAL_I8042_HOOK_KEYBOARD來連接選擇性回呼常式,以補充鍵盤初始化和鍵盤 ISR。 回呼可由選擇性、廠商提供的上層篩選驅動程式提供。
INTERNAL_I8042_HOOK_MOUSE

I8042prt 會使用INTERNAL_I8042_HOOK_MOUSE來連接選擇性回呼常式,以補充滑鼠 ISR 的作業。 回呼可由選擇性、廠商提供的上層篩選驅動程式提供。
INTERNAL_I8042_START_INFORMATION

INTERNAL_I8042_START_INFORMATION指定選擇性、廠商提供的上層篩選設備磁碟機可用來與 I8042prt ISR 同步處理其作業的中斷物件。
OUTPUT_PACKET

OUTPUT_PACKET包含 I8042prt 寫入鍵盤或滑鼠裝置之資料的相關資訊。
USAGE_AND_PAGE

USAGE_AND_PAGE 結構會指定 HID 控制項的使用頁面和使用方式識別碼。
VHF_CONFIG

包含 HID 來源驅動程式呼叫 VhfCreate 以建立虛擬 HID 裝置時所提供的初始組態資訊。