共用方式為


人類介面裝置 (HID)

Human Interface Devices (HID) 技術的概觀。

若要開發 Human Interface Devices (HID),您需要下列標頭:

如需程式設計指南,請參閱 Human Interface Devices (HID)

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

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

HIDClass 支援例程

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

一般情況下,使用者模式應用程式可以使用HidD_Xxx和HidP_Xxx例程。 不過,內核模式驅動程式只能呼叫HidP_Xxx例程。

HID 迷你驅動程式只會使用 HidRegisterMinidriver 例程。

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

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

HID Minidriver IOCTLs

HID 迷你驅動程式必須處理一組 IOCTLs。 只有 HID 類別驅動程式會將這些 IOCTLs 傳送至 HID 迷你驅動程式。 使用者模式應用程式和其他內核模式驅動程式只能使用 HIDClass 支援例程和 HID 類別驅動程式 IOCTLs 與 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要求會取得最上層集合的製造商標識碼、產品標識碼或序號。 擷取的字串是以人類可讀取的格式,以 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 狀態區塊成員會設定如下:

狀態 成員是由 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要求會取得最上層集合的隨插即用硬體標識碼。
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要求會取得最上層集合的實體描述元。 對於 minidriver,此描述元是 HIDClass 裝置的描述元。
IOCTL_HID_ACTIVATE_DEVICE IOCTL IOCTL_HID_ACTIVATE_DEVICE要求會啟動 HIDClass 裝置,使其準備好進行 I/O 作業。
IOCTL_HID_DEACTIVATE_DEVICE IOCTL 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_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 傳送給 HIDUSB 等 HID 迷你驅動程式之閑置通知要求的 IOCTL,以通知總線驅動程式裝置現在處於閑置狀態。
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要求會將 Mouclass 服務連線到滑鼠裝置。
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL 穆filtr 已完成IOCTL_INTERNAL_MOUSE_DISCONNECT要求,錯誤狀態為 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_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要求會取得最上層集合的隨插即用硬體標識碼。
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 傳送給 HIDUSB 等 HID 迷你驅動程式之閑置通知要求的 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 ISR 回呼可以使用的回呼。如需有關此要求和回呼的詳細資訊,則 請參閱下列主題:I8042prt 回調例程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要求會將 Mouclass 服務連線到滑鼠裝置。
IOCTL_INTERNAL_MOUSE_DISCONNECT

穆filtr 已完成IOCTL_INTERNAL_MOUSE_DISCONNECT要求,錯誤狀態為 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 報表中設定指定的 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函式會傳回兩個使用方式清單之間的差異。
HidP_UsageListDifference

HidP_UsageListDifference例程會傳回兩個 HID 使用方式陣列之間的差異。
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

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

HID 來源驅動程式會呼叫這個方法,以設定異步操作的結果。
VhfCreate

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

HID 來源裝置驅動程式會呼叫此方法來刪除 VHF 裝置。
VhfReadReportSubmit

HID 來源驅動程式會呼叫此方法,將 HID 讀取(輸入)報告提交至虛擬 HID 架構 (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結構是由 HID minidriver 用來作為 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 類別驅動程式搭配 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

包含最上層集合的報表標識碼資訊。
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 裝置時所提供的初始設定資訊。