人類介面裝置 (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 裝置時所提供的初始組態資訊。 |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應