Human Interface Devices (HID)
Overview of the Human Interface Devices (HID) technology.
To develop Human Interface Devices (HID), you need these headers:
For the programming guide, see Human Interface Devices (HID).
For Win32 HID programming APIs, see Win32 Human Interface Devices Reference.
This section contains the programming interfaces related to Human Interface Devices (or HID). Typically, these are devices that humans use to directly control the operation of computer systems.
HIDClass Support Routines
There are system-supplied routines that user-mode applications, kernel-mode drivers, and HID minidrivers use to operate devices in the HIDClass device setup class.
As a general rule, user-mode applications can use the HidD_Xxx and HidP_Xxx routines. However, kernel-mode drivers can only call HidP_Xxx routines.
HID minidrivers use only the HidRegisterMinidriver routine.
For Windows 8.1 Microsoft introduced the new Windows.Devices.HumanInterfaceDevice API which lets you write Windows apps that access HID devices.
The header defines IOCTLs that a HID minidriver must support. Only the HID class driver sends these IOCTLs to a HID minidriver. User-mode applications and other kernel-mode drivers can only communicate with HID collections by using the HIDClass support routines and HID class driver IOCTLs.
HID Minidriver IOCTLs
A HID minidriver must handle a set of IOCTLs. Only the HID class driver sends these IOCTLs to a HID minidriver. User-mode applications and other kernel-mode drivers can only communicate with HID collections by using the HIDClass support routines and HID class driver IOCTLs.
Topic | Description |
---|---|
IOCTL_HID_ACTIVATE_DEVICE | The IOCTL_HID_ACTIVATE_DEVICE request activates a HIDClass device, which makes it ready for I/O operations. |
IOCTL_HID_DEACTIVATE_DEVICE | The IOCTL_HID_DEACTIVATE_DEVICE request deactivates a HIDClass device, which causes it to stop operations and terminate all outstanding I/O requests. |
IOCTL_HID_GET_DEVICE_ATTRIBUTES | The IOCTL_HID_GET_DEVICE_ATTRIBUTES request obtains a HIDClass device's attributes in a HID_DEVICE_ATTRIBUTES structure. |
IOCTL_HID_GET_DEVICE_DESCRIPTOR | The IOCTL_HID_GET_DEVICE_DESCRIPTOR request obtains a HIDClass device's HID descriptor. |
IOCTL_HID_GET_REPORT_DESCRIPTOR | The IOCTL_HID_GET_REPORT_DESCRIPTOR request obtains the report descriptor for a HIDClass device. |
IOCTL_HID_GET_STRING | The IOCTL_HID_GET_STRING request obtains a manufacturer ID, product ID, or serial number for a top-level collection. The retrieved string is a NULL-terminated wide character string in a human-readable format. |
IOCTL_HID_READ_REPORT | The IOCTL_HID_READ_REPORT request transfers an input report from a HIDClass device into the HID class driver's buffer. |
IOCTL_HID_WRITE_REPORT | The IOCTL_HID_WRITE_REPORT request sends a HID report to a HIDClass device. |
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR | The IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR control code obtains the physical descriptor of a HIDClass device. |
IOCTL_UMDF_HID_GET_FEATURE | The IOCTL_UMDF_HID_GET_FEATURE control code obtains a feature report from a HIDClass device. |
IOCTL_UMDF_HID_GET_INPUT_REPORT | The IOCTL_UMDF_HID_GET_INPUT_REPORT control code returns an input report from a HIDClass device. |
IOCTL_UMDF_HID_SET_FEATURE | The IOCTL_UMDF_HID_GET_FEATURE control code sends a feature report to a HIDClass device. |
IOCTL_UMDF_HID_SET_OUTPUT_REPORT | The IOCTL_UMDF_HID_SET_OUTPUT_REPORT control code sends an output report to a top-level collection. |
HID Class Driver IOCTLs
The HID class driver handles IOCTLs to support for top-level collections.
Although user applications can communicate with the HID class driver by using HidD_Xxx HIDClass support routines, kernel-mode drivers must send the corresponding device control requests described in this section.
The input and output parameters are request-specific.
Upon completion of a request, the I/O status block members are set as follows:
The Status member is set by the HID class driver for all requests that it handles.
As described for each IOCTL, the Information member is set either by the class driver or a lower-level driver. Normally, when a lower-level driver transfers data from or to a device, the lower-level driver sets Information to the number of bytes transferred. However, the HID class driver might return a different value.
Topic | Description |
---|---|
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS | The IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS request obtains the size of the input report queue for a top-level collection. |
IOCTL_GET_PHYSICAL_DESCRIPTOR | The IOCTL_GET_PHYSICAL_DESCRIPTOR request obtains the physical descriptor of a top-level collection. |
IOCTL_HID_DEVICERESET_NOTIFICATION | The IOCTL_HID_DEVICERESET_NOTIFICATION request is sent by the HID client driver to HID class driver to wait for a device-initiated reset event. |
IOCTL_HID_DISABLE_SECURE_READ | The IOCTL_HID_DISABLE_SECURE_READ request cancels an IOCTL_HID_ENABLE_SECURE_READ request for a HID collection. |
IOCTL_HID_ENABLE_SECURE_READ | The IOCTL_HID_ENABLE_SECURE_READ request enables a secure read for open files of a HID collection. |
IOCTL_HID_ENABLE_WAKE_ON_SX | The IOCTL_HID_ENABLE_WAKE_ON_SX request is used to indicate the requirement for a device to be able to wake from system sleep. |
IOCTL_HID_FLUSH_QUEUE | The IOCTL_HID_FLUSH_QUEUE request dequeues all of the unparsed input reports from a top-level collection's input report queue. |
IOCTL_HID_GET_COLLECTION_DESCRIPTOR | The IOCTL_HID_GET_COLLECTION_DESCRIPTOR request obtains a top-level collection's preparsed data, which the HID class driver extracted from the physical device's report descriptor during device initialization. |
IOCTL_HID_GET_COLLECTION_INFORMATION | The IOCTL_HID_GET_COLLECTION_INFORMATION request obtains a top-level collection's HID_COLLECTION_INFORMATION structure. |
IOCTL_HID_GET_DRIVER_CONFIG | The IOCTL_HID_GET_DRIVER_CONFIG request retrieves the driver configuration. |
IOCTL_HID_GET_FEATURE | The IOCTL_HID_GET_FEATURE request returns a feature report associated with a top-level collection. |
IOCTL_HID_GET_HARDWARE_ID | The IOCTL_HID_GET_HARDWARE_ID request obtains the Plug and Play hardware ID of a top-level collection. |
IOCTL_HID_GET_INDEXED_STRING | The IOCTL_HID_GET_INDEXED_STRING request obtains a specified embedded string from a top-level collection. |
IOCTL_HID_GET_INPUT_REPORT | The IOCTL_HID_GET_INPUT_REPORT request obtains an input report from a top-level collection. |
IOCTL_HID_GET_MANUFACTURER_STRING | The IOCTL_HID_GET_MANUFACTURER_STRING request obtains a top-level collection's embedded string that identifies the manufacturer of the device. |
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR | The IOCTL_HID_GET_MS_GENRE_DESCRIPTOR request is used for retrieving the genre descriptor for the device. |
IOCTL_HID_GET_POLL_FREQUENCY_MSEC | The IOCTL_HID_GET_POLL_FREQUENCY_MSEC request obtains the current polling frequency, in milliseconds, of a top-level collection. |
IOCTL_HID_GET_PRODUCT_STRING | The IOCTL_HID_GET_PRODUCT_STRING request obtains a top-level collection's embedded string that identifies the manufacturer's product. The retrieved string is a NULL-terminated wide character string in a human-readable format. For general information about HIDClass devices, see HID Collections. |
IOCTL_HID_GET_SERIALNUMBER_STRING | The IOCTL_HID_GET_SERIALNUMBER_STRING request obtains a top-level collection's embedded string that identifies the device's serial number. |
IOCTL_HID_SET_DRIVER_CONFIG | The IOCTL_HID_SET_DRIVER_CONFIG request sets the driver configuration. |
IOCTL_HID_SET_FEATURE | The IOCTL_HID_SET_FEATURE request sends a feature report to a top-level collection. For general information about HIDClass devices, see HID Collections. |
IOCTL_HID_SET_OUTPUT_REPORT | The IOCTL_HID_SET_OUTPUT_REPORT request sends an output report to a top-level collection. |
IOCTL_HID_SET_POLL_FREQUENCY_MSEC | The IOCTL_HID_SET_POLL_FREQUENCY_MSEC request sets the polling frequency, in milliseconds, for a top-level collection. User-mode applications or kernel-mode drivers that perform irregular, opportunistic reads on a polled device must furnish a polling interval of zero. In such cases, IOCTL_HID_SET_POLL_FREQUENCY_MSEC does not actually change the polling frequency of the device; but if the report data is not stale when it is read, the read is completed immediately with the latest report data for the indicated collection. If the report data is stale, it is refreshed immediately, without waiting for the expiration of the polling interval, and the read is completed with the new data. If the value for the polling interval that is provided in the IRP is not zero, it must be >= MIN_POLL_INTERVAL_MSEC and <= MAX_POLL_INTERVAL_MSEC. Polling may be limited if there are multiple top-level collections. For general information about HIDClass devices, see HID Collections. |
IOCTL_HID_SET_S0_IDLE_TIMEOUT | The IOCTL_HID_SET_S0_IDLE_TIMEOUT request is used by a client to inform the HID class driver about the client's preferred idle timeout value. |
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS | The IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS request sets the number of buffers for the input report queue of a top-level collection. Each input report queue is implemented as a ring buffer. If a collection transmits data to the HID class driver faster than the driver can read it, some of the data may be lost. To prevent this type of loss, you can use an IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS request to adjust the number of buffers that the input report queue contains. The HID class driver requires a minimum of two input buffers. The maximum number of input buffers that the HID class driver supports is 512. The default number of input buffers is 32. For general information about HIDClass devices, see HID Collections. |
Reserved for internal system use
This section lists, in alphabetical order, the HIDClass-related routines, structures, enumeration types and data types that are reserved for internal system use.
- 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
The DeviceObjectState enumeration type is reserved for internal system use.
enum DeviceObjectState {
DeviceObjectStarted,
DeviceObjectStopped,
DeviceObjectRemoved
};
Headers Declared in Hidclass.h.
HID_DRIVER_CONFIG
The HID_DRIVER_CONFIG structure is reserved for internal system use.
typedef struct _HID_DRIVER_CONFIG {
ULONG Size;
ULONG RingBufferSize;
} HID_DRIVER_CONFIG, *PHID_DRIVER_CONFIG;
Headers Declared in Hidclass.h.
HID_INTERFACE_HIDPARSE
The HID_INTERFACE_HIDPARSE structure is reserved for internal system use.
typedef struct _HID_INTERFACE_HIDPARSE {
#ifndef __cplusplus
INTERFACE;
#else
INTERFACE i;
#endif
PHIDP_GETCAPS HidpGetCaps;
} HID_INTERFACE_HIDPARSE, *PHID_INTERFACE_HIDPARSE;
Headers Declared in Hidclass.h.
HID_INTERFACE_NOTIFY_PNP
The HID_INTERFACE_NOTIFY_PNP structure is reserved for internal system use.
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;
Headers Declared in Hidclass.h.
HIDD_CONFIGURATION
The HIDD_CONFIGURATION structure is reserved for internal system use.
typedef struct _HIDD_CONFIGURATION {
PVOID cookie;
ULONG size;
ULONG RingBufferSize;
} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;
Headers Declared in Hidsdi.h.
HidD_GetConfiguration
The HidD_GetConfiguration routine is reserved for internal system use.
BOOLEAN __stdcall
HidD_GetConfiguration(
IN HANDLE HidDeviceObject,
OUT PHIDD_CONFIGURATION Configuration,
IN ULONG ConfigurationLength
);
Headers Declared in Hidsdi.h.
HidD_GetMsGenreDescriptor
The HidD_GetMsGenreDescriptor routine is reserved for internal system use.
BOOLEAN __stdcall
HidD_GetMsGenreDescriptor(
IN HANDLE HidDeviceObject,
OUT PVOID Buffer,
IN ULONG BufferLength
);
Headers Declared in Hidsdi.h.
HidD_SetConfiguration
The HidD_SetConfiguration routine is reserved for internal system use.
BOOLEAN __stdcall
HidD_SetConfiguration(
IN HANDLE HidDeviceObject,
IN PHIDD_CONFIGURATION Configuration,
IN ULONG ConfigurationLength
);
Headers Declared in Hidsdi.h.
HIDP_COLLECTION_DESC
The HIDP_COLLECTION_DESC structure is reserved for internal system use.
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;
Headers Declared in Hidpddi.h.
HIDP_DEVICE_DESC
The HIDP_DEVICE_DESC structure is reserved for internal system use.
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;
Headers Declared in Hidpddi.h.
HidP_FreeCollectionDescription
The HidP_FreeCollectionDescription routine is reserved for internal system use.
VOID
HidP_FreeCollectionDescription(
IN PHIDP_DEVICE_DESC DeviceDescription
);
Headers Declared in Hidpddi.h.
HIDP_GETCOLDESC_DBG
The HIDP_GETCOLDESC_DBG structure is reserved for internal system use.
typedef struct _HIDP_GETCOLDESC_DBG {
ULONG BreakOffset;
ULONG ErrorCode;
ULONG Args[6];
} HIDP_GETCOLDESC_DBG, *PHIDP_GETCOLDESC_DBG;
Headers Declared in Hidpddi.h.
HIDP_KEYBOARD_DIRECTION
The HIDP_KEYBOARD_DIRECTION enumeration type is reserved for internal system use.
typedef enum _HIDP_KEYBOARD_DIRECTION {
HidP_Keyboard_Break,
HidP_Keyboard_Make
} HIDP_KEYBOARD_DIRECTION;
Headers Declared in Hidpi.h.
HIDP_KEYBOARD_MODIFIER_STATE
The HIDP_KEYBOARD_MODIFIER_STATE structure is reserved for internal system use.
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;
Headers Declared in Hidpi.h.
HIDP_REPORT_IDS
The HIDP_REPORT_IDS structure is reserved for internal system use.
typedef struct _HIDP_REPORT_IDS {
UCHAR ReportID;
UCHAR CollectionNumber;
USHORT InputLength;
USHORT OutputLength;
USHORT FeatureLength;
} HIDP_REPORT_IDS, *PHIDP_REPORT_IDS;
Headers Declared in Hidpddi.h.
HidP_SysPowerCaps
The HidP_SysPowerCaps routine is reserved for internal system use.
NTSTATUS
HidP_SysPowerCaps(
IN PHIDP_PREPARSED_DATA Ppd,
OUT PULONG OutputBuffer
);
Headers Declared in Hidpddi.h.
HidP_SysPowerEvent
The HidP_SysPowerEvent routine is reserved for internal system use.
NTSTATUS
HidP_SysPowerEvent(
IN PCHAR HidPacket,
IN USHORT HidPacketLength,
IN PHIDP_PREPARSED_DATA Ppd,
OUT PULONG OutputBuffer
);
Headers Declared in Hidpddi.h.
HidP_TranslateUsageAndPagesToI8042ScanCodes
The HidP_TranslateUsageAndPagesToI8042ScanCodes routine is reserved for internal system use.
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
);
Headers Declared in Hidpi.h.
PHID_STATUS_CHANGE
The PHID_STATUS_CHANGE routine is reserved for internal system use.
typedef VOID (*PHID_STATUS_CHANGE)(
PVOID Context,
enum DeviceObjectState State
);
Headers Declared in Hidclass.h.
PHIDP_INSERT_SCANCODES
The PHIDP_INSERT_SCANCODES routine is reserved for internal system use.
typedef BOOLEAN (*PHIDP_INSERT_SCANCODES)(
IN PVOID Context,
IN PCHAR NewScanCodes,
IN ULONG Length
);
Headers Declared in Hidpi.h.
PHIDP_REPORT_DESCRIPTOR
The PHIDP_REPORT_DESCRIPTOR data type is reserved for internal system use.
typedef PUCHAR PHIDP_REPORT_DESCRIPTOR;
Headers Declared in Hidpi.h.
Callback functions
Title | Description |
---|---|
EVT_VHF_ASYNC_OPERATION | The HID source driver implements this event callback if it wants to support one of the four asynchronous operation to get and set HID reports. |
EVT_VHF_CLEANUP | The HID source driver implements this event callback to free resources that might the driver allocated to the virtual HID device. |
EVT_VHF_READY_FOR_NEXT_READ_REPORT | The HID source driver implements this event call back function to use its buffering scheme for HID Input Reports, and wants to get notified when the next report can be submitted to VHF. |
PHIDP_GETCAPS | The HidP_GetCaps routine returns a top-level collection's HIDP_CAPS structure. |
PI8042_ISR_WRITE_PORT | The PI8042_ISR_WRITE_PORT-typed callback routine writes data to an i8042 port. I8042prt provides this callback. |
PI8042_KEYBOARD_INITIALIZATION_ROUTINE | A PI8042_KEYBOARD_INITIALIZATION_ROUTINE-typed callback routine supplements the default initialization of a keyboard device by I8042prt. |
PI8042_KEYBOARD_ISR | A PI8042_KEYBOARD_ISR-typed callback routine customizes the operation of the I8042prt keyboard ISR. |
PI8042_MOUSE_ISR | A PI8042_MOUSE_ISR-typed callback routine customizes the operation of the I8042prt mouse ISR. |
PI8042_QUEUE_PACKET | The PI8042_QUEUE_PACKET-typed callback routine queues an input data packet for processing by the ISR DPC of a keyboard or mouse device. I8042prt provides this callback. |
PI8042_SYNCH_READ_PORT | The PI8042_SYNCH_READ_PORT-typed callback routine does a synchronized read from an i8042 port. I8042prt supplies this callback. |
PI8042_SYNCH_WRITE_PORT | The PI8042_SYNCH_READ_PORT-typed callback routine does a synchronized write to an i8042 port. I8042prt supplies this routine. |
PSERVICE_CALLBACK_ROUTINE | A function driver calls the class service callback in its ISR dispatch completion routine. The class service callback transfers input data from the input data buffer of a device to the class data queue. |
I/O control codes
Title | Description |
---|---|
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL | The IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS request obtains the size of the input report queue for a top-level collection. |
IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL | The IOCTL_GET_PHYSICAL_DESCRIPTOR request obtains the physical descriptor of a top-level collection. For a minidriver, this descriptor is the descriptor of the HIDClass device. |
IOCTL_HID_ACTIVATE_DEVICE IOCTL | The IOCTL_HID_ACTIVATE_DEVICE request activates a HIDClass device, which makes it ready for I/O operations. |
IOCTL_HID_DEACTIVATE_DEVICE IOCTL | The IOCTL_HID_DEACTIVATE_DEVICE request deactivates a HIDClass device, which causes it to stop operations and terminate all outstanding I/O requests. |
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL | The IOCTL_HID_DEVICERESET_NOTIFICATION request is sent by the HID client driver to HID class driver to wait for a device-initiated reset event. |
IOCTL_HID_DISABLE_SECURE_READ IOCTL | The IOCTL_HID_DISABLE_SECURE_READ request cancels an IOCTL_HID_ENABLE_SECURE_READ request for a HID collection. |
IOCTL_HID_ENABLE_SECURE_READ IOCTL | The IOCTL_HID_ENABLE_SECURE_READ request enables a secure read for open files of a HID collection. |
IOCTL_HID_ENABLE_WAKE_ON_SX IOCTL | The IOCTL_HID_ENABLE_WAKE_ON_SX request is used to indicate the requirement for a device to be able to wake from system sleep. |
IOCTL_HID_FLUSH_QUEUE IOCTL | The IOCTL_HID_FLUSH_QUEUE request dequeues all of the unparsed input reports from a top-level collection's input report queue. |
IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL | The IOCTL_HID_GET_COLLECTION_DESCRIPTOR request obtains a top-level collection's preparsed data, which the HID class driver extracted from the physical device's report descriptor during device initialization. |
IOCTL_HID_GET_COLLECTION_INFORMATION IOCTL | The IOCTL_HID_GET_COLLECTION_INFORMATION request obtains a top-level collection's HID_COLLECTION_INFORMATION structure. |
IOCTL_HID_GET_DEVICE_ATTRIBUTES IOCTL | The IOCTL_HID_GET_DEVICE_ATTRIBUTES request obtains a HIDClass device's attributes in a HID_DEVICE_ATTRIBUTES structure. |
IOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL | The IOCTL_HID_GET_DEVICE_DESCRIPTOR request obtains a HIDClass device's HID descriptor. |
IOCTL_HID_GET_DRIVER_CONFIG IOCTL | The IOCTL_HID_GET_DRIVER_CONFIG request retrieves the driver configuration. |
IOCTL_HID_GET_FEATURE IOCTL | The IOCTL_HID_GET_FEATURE request returns a feature report associated with a top-level collection. |
IOCTL_HID_GET_HARDWARE_ID IOCTL | The IOCTL_HID_GET_HARDWARE_ID request obtains the Plug and Play hardware ID of a top-level collection. |
IOCTL_HID_GET_INDEXED_STRING IOCTL | The IOCTL_HID_GET_INDEXED_STRING request obtains a specified embedded string from a top-level collection. |
IOCTL_HID_GET_INPUT_REPORT IOCTL | The IOCTL_HID_GET_INPUT_REPORT request obtains an input report from a top-level collection. |
IOCTL_HID_GET_MANUFACTURER_STRING IOCTL | The IOCTL_HID_GET_MANUFACTURER_STRING request obtains a top-level collection's embedded string that identifies the manufacturer of the device. |
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR IOCTL | The IOCTL_HID_GET_MS_GENRE_DESCRIPTOR request is used for retrieving the genre descriptor for the device. |
IOCTL_HID_GET_POLL_FREQUENCY_MSEC IOCTL | The IOCTL_HID_GET_POLL_FREQUENCY_MSEC request obtains the current polling frequency, in milliseconds, of a top-level collection. |
IOCTL_HID_GET_PRODUCT_STRING IOCTL | The IOCTL_HID_GET_PRODUCT_STRING request obtains a top-level collection's embedded string that identifies the manufacturer's product. The retrieved string is a NULL-terminated wide character string in a human-readable format. |
IOCTL_HID_GET_REPORT_DESCRIPTOR IOCTL | The IOCTL_HID_GET_REPORT_DESCRIPTOR request obtains the report descriptor for a HIDClass device. |
IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL | The IOCTL_HID_GET_SERIALNUMBER_STRING request obtains a top-level collection's embedded string that identifies the device's serial number. |
IOCTL_HID_GET_STRING IOCTL | The IOCTL_HID_GET_STRING request obtains a manufacturer ID, product ID, or serial number for a top-level collection. The retrieved string is a NULL-terminated wide character string in a human-readable format. |
IOCTL_HID_READ_REPORT IOCTL | The IOCTL_HID_READ_REPORT request transfers an input report from a HIDClass device into the HID class driver's buffer. |
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST IOCTL | The IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST control code is the IOCTL of the idle notification request IRP that HIDClass sends to HID mini drivers, such as HIDUSB, to inform the bus driver that the device is now idle. |
IOCTL_HID_SET_DRIVER_CONFIG IOCTL | The IOCTL_HID_SET_DRIVER_CONFIG request sets the driver configuration. |
IOCTL_HID_SET_FEATURE IOCTL | The IOCTL_HID_SET_FEATURE request sends a feature report to a top-level collection. |
IOCTL_HID_SET_OUTPUT_REPORT IOCTL | The IOCTL_HID_SET_OUTPUT_REPORT request sends an output report to a top-level collection. |
IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL | The IOCTL_HID_SET_POLL_FREQUENCY_MSEC request sets the polling frequency, in milliseconds, for a top-level collection. |
IOCTL_HID_SET_S0_IDLE_TIMEOUT IOCTL | The IOCTL_HID_SET_S0_IDLE_TIMEOUT request is used by a client to inform the HID class driver about the client's preferred idle timeout value. |
IOCTL_HID_WRITE_REPORT IOCTL | The IOCTL_HID_WRITE_REPORT request sends a HID report to a HIDClass device. |
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER IOCTL | The IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER request is not supported. |
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL | The IOCTL_INTERNAL_I8042_HOOK_KEYBOARD request does the following |
IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL | The IOCTL_INTERNAL_I8042_HOOK_MOUSE request adds an ISR callback routine to the I8042prt mouse ISR. |
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION IOCTL | The IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION request passes a pointer to a keyboard interrupt object. |
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER IOCTL | The IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER request writes data to the i8042 port controller to control operation of a keyboard device. |
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION IOCTL | The IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION request passes a pointer to a mouse interrupt object. |
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER IOCTL | The IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER request writes data to the i8042 port controller to control operation of a mouse device. |
IOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL | The IOCTL_INTERNAL_KEYBOARD_CONNECT request connects the Kbdclass service to the keyboard device. |
IOCTL_INTERNAL_KEYBOARD_DISCONNECT IOCTL | The IOCTL_INTERNAL_KEYBOARD_DISCONNECT request is completed with a status of STATUS_NOT_IMPLEMENTED. Note that a Plug and Play keyboard can be added or removed by the Plug and Play manager. |
IOCTL_INTERNAL_MOUSE_CONNECT IOCTL | The IOCTL_INTERNAL_MOUSE_CONNECT request connects Mouclass service to a mouse device. |
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL | The IOCTL_INTERNAL_MOUSE_DISCONNECT request is completed by Moufiltr with an error status of STATUS_NOT_IMPLEMENTED. |
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL | The IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS request sets the number of buffers for the input report queue of a top-level collection. |
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR IOCTL | The IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR control code obtains the physical descriptor of a HIDClass device. |
IOCTL_UMDF_HID_GET_FEATURE IOCTL | The IOCTL_UMDF_HID_GET_FEATURE control code obtains a feature report from a HIDClass device. |
IOCTL_UMDF_HID_GET_INPUT_REPORT IOCTL | The IOCTL_UMDF_HID_GET_INPUT_REPORT control code returns an input report from a HIDClass device. |
IOCTL_UMDF_HID_SET_FEATURE IOCTL | The IOCTL_UMDF_HID_GET_FEATURE control code sends a feature report to a HIDClass device. |
IOCTL_UMDF_HID_SET_OUTPUT_REPORT IOCTL | The IOCTL_UMDF_HID_SET_OUTPUT_REPORT control code sends an output report to a top-level collection. |
IOCTLs
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS The IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS request obtains the size of the input report queue for a top-level collection. |
IOCTL_GET_PHYSICAL_DESCRIPTOR The IOCTL_GET_PHYSICAL_DESCRIPTOR request obtains the physical descriptor of a top-level collection. For a minidriver, this descriptor is the descriptor of the HIDClass device. |
IOCTL_HID_ACTIVATE_DEVICE The IOCTL_HID_ACTIVATE_DEVICE request activates a HIDClass device, which makes it ready for I/O operations. |
IOCTL_HID_DEACTIVATE_DEVICE The IOCTL_HID_DEACTIVATE_DEVICE request deactivates a HIDClass device, which causes it to stop operations and terminate all outstanding I/O requests. |
IOCTL_HID_DEVICERESET_NOTIFICATION The IOCTL_HID_DEVICERESET_NOTIFICATION request is sent by the HID client driver to HID class driver to wait for a device-initiated reset event. |
IOCTL_HID_DISABLE_SECURE_READ The IOCTL_HID_DISABLE_SECURE_READ request cancels an IOCTL_HID_ENABLE_SECURE_READ request for a HID collection. |
IOCTL_HID_ENABLE_SECURE_READ The IOCTL_HID_ENABLE_SECURE_READ request enables a secure read for open files of a HID collection. |
IOCTL_HID_ENABLE_WAKE_ON_SX The IOCTL_HID_ENABLE_WAKE_ON_SX request is used to indicate the requirement for a device to be able to wake from system sleep. |
IOCTL_HID_FLUSH_QUEUE The IOCTL_HID_FLUSH_QUEUE request dequeues all of the unparsed input reports from a top-level collection's input report queue. |
IOCTL_HID_GET_COLLECTION_DESCRIPTOR The IOCTL_HID_GET_COLLECTION_DESCRIPTOR request obtains a top-level collection's preparsed data, which the HID class driver extracted from the physical device's report descriptor during device initialization. |
IOCTL_HID_GET_COLLECTION_INFORMATION The IOCTL_HID_GET_COLLECTION_INFORMATION request obtains a top-level collection's HID_COLLECTION_INFORMATION structure. |
IOCTL_HID_GET_DEVICE_ATTRIBUTES The IOCTL_HID_GET_DEVICE_ATTRIBUTES request obtains a HIDClass device's attributes in a HID_DEVICE_ATTRIBUTES structure. |
IOCTL_HID_GET_DEVICE_DESCRIPTOR The IOCTL_HID_GET_DEVICE_DESCRIPTOR request obtains a HIDClass device's HID descriptor. |
IOCTL_HID_GET_DRIVER_CONFIG The IOCTL_HID_GET_DRIVER_CONFIG request retrieves the driver configuration. |
IOCTL_HID_GET_FEATURE The IOCTL_HID_GET_FEATURE request returns a feature report associated with a top-level collection. |
IOCTL_HID_GET_HARDWARE_ID The IOCTL_HID_GET_HARDWARE_ID request obtains the Plug and Play hardware ID of a top-level collection. |
IOCTL_HID_GET_INDEXED_STRING The IOCTL_HID_GET_INDEXED_STRING request obtains a specified embedded string from a top-level collection. |
IOCTL_HID_GET_INPUT_REPORT The IOCTL_HID_GET_INPUT_REPORT request obtains an input report from a top-level collection. |
IOCTL_HID_GET_MANUFACTURER_STRING The IOCTL_HID_GET_MANUFACTURER_STRING request obtains a top-level collection's embedded string that identifies the manufacturer of the device. |
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR The IOCTL_HID_GET_MS_GENRE_DESCRIPTOR request is used for retrieving the genre descriptor for the device. |
IOCTL_HID_GET_POLL_FREQUENCY_MSEC The IOCTL_HID_GET_POLL_FREQUENCY_MSEC request obtains the current polling frequency, in milliseconds, of a top-level collection. |
IOCTL_HID_GET_PRODUCT_STRING The IOCTL_HID_GET_PRODUCT_STRING request obtains a top-level collection's embedded string that identifies the manufacturer's product. The retrieved string is a NULL-terminated wide character string in a human-readable format. |
IOCTL_HID_GET_REPORT_DESCRIPTOR The IOCTL_HID_GET_REPORT_DESCRIPTOR request obtains the report descriptor for a HIDClass device. |
IOCTL_HID_GET_SERIALNUMBER_STRING The IOCTL_HID_GET_SERIALNUMBER_STRING request obtains a top-level collection's embedded string that identifies the device's serial number. |
IOCTL_HID_GET_STRING The IOCTL_HID_GET_STRING request obtains a manufacturer ID, product ID, or serial number for a top-level collection. The retrieved string is a NULL-terminated wide character string in a human-readable format. |
IOCTL_HID_READ_REPORT The IOCTL_HID_READ_REPORT request transfers an input report from a HIDClass device into the HID class driver's buffer. |
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST The IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST control code is the IOCTL of the idle notification request IRP that HIDClass sends to HID mini drivers, such as HIDUSB, to inform the bus driver that the device is now idle. |
IOCTL_HID_SET_DRIVER_CONFIG The IOCTL_HID_SET_DRIVER_CONFIG request sets the driver configuration. |
IOCTL_HID_SET_FEATURE The IOCTL_HID_SET_FEATURE request sends a feature report to a top-level collection. |
IOCTL_HID_SET_OUTPUT_REPORT The IOCTL_HID_SET_OUTPUT_REPORT request sends an output report to a top-level collection. |
IOCTL_HID_SET_POLL_FREQUENCY_MSEC The IOCTL_HID_SET_POLL_FREQUENCY_MSEC request sets the polling frequency, in milliseconds, for a top-level collection. |
IOCTL_HID_SET_S0_IDLE_TIMEOUT The IOCTL_HID_SET_S0_IDLE_TIMEOUT request is used by a client to inform the HID class driver about the client's preferred idle timeout value. |
IOCTL_HID_WRITE_REPORT The IOCTL_HID_WRITE_REPORT request sends a HID report to a HIDClass device. |
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER The IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER request is not supported. |
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD The IOCTL_INTERNAL_I8042_HOOK_KEYBOARD request does the following:Adds an initialization callback routine to the I8042prt keyboard initialization routineAdds an ISR callback routine to the I8042prt keyboard ISRThe initialization and ISR callbacks are optional and are provided by an upper-level filter driver for a PS/2-style keyboard device.After I8042prt receives an IOCTL_INTERNAL_KEYBOARD_CONNECT request, it sends a synchronous IOCTL_INTERNAL_I8042_HOOK_KEYBOARD request to the top of the keyboard device stack.After Kbfiltr receives the hook keyboard request, Kbfiltr filters the request in the following way:Saves the upper-level information passed to Kbfiltr, which includes the context of an upper-level device object, a pointer to an initialization callback, and a pointer to an ISR callbackReplaces the upper-level information with its ownSaves the context of I8042prt and pointers to callbacks that the Kbfiltr ISR callback can useFor more information about this request and the callbacks, see the following topics:I8042prt Callback RoutinesKbfiltr Callback Routines. |
IOCTL_INTERNAL_I8042_HOOK_MOUSE The IOCTL_INTERNAL_I8042_HOOK_MOUSE request adds an ISR callback routine to the I8042prt mouse ISR. |
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION The IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION request passes a pointer to a keyboard interrupt object. |
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER The IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER request writes data to the i8042 port controller to control operation of a keyboard device. |
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION The IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION request passes a pointer to a mouse interrupt object. |
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER The IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER request writes data to the i8042 port controller to control operation of a mouse device. |
IOCTL_INTERNAL_KEYBOARD_CONNECT The IOCTL_INTERNAL_KEYBOARD_CONNECT request connects the Kbdclass service to the keyboard device. |
IOCTL_INTERNAL_KEYBOARD_DISCONNECT The IOCTL_INTERNAL_KEYBOARD_DISCONNECT request is completed with a status of STATUS_NOT_IMPLEMENTED. Note that a Plug and Play keyboard can be added or removed by the Plug and Play manager. |
IOCTL_INTERNAL_MOUSE_CONNECT The IOCTL_INTERNAL_MOUSE_CONNECT request connects Mouclass service to a mouse device. |
IOCTL_INTERNAL_MOUSE_DISCONNECT The IOCTL_INTERNAL_MOUSE_DISCONNECT request is completed by Moufiltr with an error status of STATUS_NOT_IMPLEMENTED. |
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS The IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS request sets the number of buffers for the input report queue of a top-level collection. |
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR The IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR control code obtains the physical descriptor of a HIDClass device. |
IOCTL_UMDF_HID_GET_FEATURE The IOCTL_UMDF_HID_GET_FEATURE control code obtains a feature report from a HIDClass device. |
IOCTL_UMDF_HID_GET_INPUT_REPORT The IOCTL_UMDF_HID_GET_INPUT_REPORT control code returns an input report from a HIDClass device. |
IOCTL_UMDF_HID_SET_FEATURE The IOCTL_UMDF_HID_GET_FEATURE control code sends a feature report to a HIDClass device. |
IOCTL_UMDF_HID_SET_OUTPUT_REPORT The IOCTL_UMDF_HID_SET_OUTPUT_REPORT control code sends an output report to a top-level collection. |
Enumerations
HIDP_REPORT_TYPE The HIDP_REPORT_TYPE enumeration type is used to specify a HID report type. |
KEYBOARD_SCAN_STATE The KEYBOARD_SCAN_STATE enumeration type indicates the scan state of an input byte from a keyboard. |
MOUSE_STATE The MOUSE_STATE enumeration type identifies the current state of input from a mouse. |
Functions
EVT_HIDSPICX_NOTIFY_POWERDOWN Learn more about: EVT_HIDSPICX_NOTIFY_POWERDOWN |
EVT_HIDSPICX_RESETDEVICE Learn more about: EVT_HIDSPICX_RESETDEVICE |
EVT_VHF_ASYNC_OPERATION The HID source driver implements this event callback if it wants to support one of the four asynchronous operation to get and set HID reports. |
EVT_VHF_CLEANUP The HID source driver implements this event callback to free resources that might the driver allocated to the virtual HID device. |
EVT_VHF_READY_FOR_NEXT_READ_REPORT The HID source driver implements this event call back function to use its buffering scheme for HID Input Reports, and wants to get notified when the next report can be submitted to VHF. |
HidD_FlushQueue The HidD_FlushQueue routine deletes all pending input reports in a top-level collection's input queue. |
HidD_FreePreparsedData The HidD_FreePreparsedData routine releases the resources that the HID class driver allocated to hold a top-level collection's preparsed data. |
HidD_GetAttributes The HidD_GetAttributes routine returns the attributes of a specified top-level collection. |
HidD_GetFeature The HidD_GetFeature routine returns a feature report from a specified top-level collection. |
HidD_GetHidGuid The HidD_GetHidGuid routine returns the device interfaceGUID for HIDClass devices. |
HidD_GetIndexedString The HidD_GetIndexedString routine returns a specified embedded string from a top-level collection. |
HidD_GetInputReport The HidD_GetInputReport routine returns an input reports from a top-level collection. |
HidD_GetManufacturerString The HidD_GetManufacturerString routine returns a top-level collection's embedded string that identifies the manufacturer. |
HidD_GetNumInputBuffers The HidD_GetNumInputBuffers routine returns the current size, in number of reports, of the ring buffer that the HID class driver uses to queue input reports from a specified top-level collection. |
HidD_GetPhysicalDescriptor The HidD_GetPhysicalDescriptor routine returns the embedded string of a top-level collection that identifies the collection's physical device. |
HidD_GetPreparsedData The HidD_GetPreparsedData routine returns a top-level collection's preparsed data. |
HidD_GetProductString The HidD_GetProductString routine returns the embedded string of a top-level collection that identifies the manufacturer's product. |
HidD_GetSerialNumberString The HidD_GetSerialNumberString routine returns the embedded string of a top-level collection that identifies the serial number of the collection's physical device. |
HidD_SetFeature The HidD_SetFeature routine sends a feature report to a top-level collection. |
HidD_SetNumInputBuffers The HidD_SetNumInputBuffers routine sets the maximum number of input reports that the HID class driver ring buffer can hold for a specified top-level collection. |
HidD_SetOutputReport The HidD_SetOutputReport routine sends an output report to a top-level collection. |
HidP_GetButtonArray HidP_GetButtonArray returns an array of HIDP_BUTTON_ARRAY_DATA structures for the specified report. |
HidP_GetButtonCaps The HidP_GetButtonCaps routine returns a button capability array that describes all the HID control buttons in a top-level collection for a specified type of HID report. |
HidP_GetButtons The HidP_GetButtons macro is a mnemonic alias for the HHidP_GetUsages function. |
HidP_GetButtonsEx The HidP_GetButtonsEx macro is an mnemonic alias for the HidP_GetUsagesEx function. |
HidP_GetCaps The HidP_GetCaps routine returns a top-level collection's HIDP_CAPS structure. This routine is in hidpi.h. |
HidP_GetCollectionDescription Fills a device description block with collection description and the corresponding report ID information for the specified report descriptor. |
HidP_GetData The HidP_GetData routine returns, for a specified report, an array of HIDP_DATA structures that identify the data indices of all HID control buttons that are currently set to ON (1), and the data indices and data associated with all HID control values. |
HidP_GetExtendedAttributes The HidP_GetExtendedAttributes routine returns the extended attributes of a HID control. |
HidP_GetLinkCollectionNodes The HidP_GetLinkCollectionNodes routine returns a top-level collection's link collection array. |
HidP_GetScaledUsageValue The HidP_GetScaledUsageValue routine returns the signed and scaled result of a HID control value extracted from a HID report. |
HidP_GetSpecificButtonCaps The HidP_GetSpecificButtonCaps routine returns a button capability array that describes all HID control buttons in a top-level collection that meet a specified selection criteria. |
HidP_GetSpecificValueCaps The HidP_GetSpecificValueCaps routine returns a value capability array that describes all HID control values that meet a specified selection criteria. |
HidP_GetUsages The HidP_GetUsages routine returns a list of all the HID control button usages that are on a specified usage page and are set to ON in a HID report. |
HidP_GetUsagesEx The HidP_GetUsagesEx routine returns a list of the all the HID control button usages that are set to ON in a HID report. |
HidP_GetUsageValue The HidP_GetUsageValue routine extracts the data associated with a HID control value that matches the selection criteria in a HID report. |
HidP_GetUsageValueArray The HidP_GetUsageValueArray routine extracts the data associated with a HID control usage value array from a HID report. |
HidP_GetValueCaps The HidP_GetValueCaps routine returns a value capability array that describes all the HID control values in a top-level collection for a specified type of HID report. |
HidP_GetVersion The HidP_GetVersion function is a header-only implementation that returns the HID API version. |
HidP_InitializeReportForID The HidP_InitializeReportForID routine initializes a HID report. |
HidP_MaxDataListLength The HidP_MaxDataListLength routine returns the maximum number of HIDP_DATA structures that HidP_GetData can return for a specified type of HID report and a specified top-level collection. |
HidP_MaxUsageListLength The HidP_MaxUsageListLength routine returns the maximum number of HID usages that HidP_GetUsages can return for a specified type of HID report and a specified top-level collection. |
HidP_SetButtonArray The HidP_SetButtonArray function sets the state of buttons via an array of HIDP_BUTTON_ARRAY_DATA structures. |
HidP_SetButtons The HidP_SetButtons macro is a mnemonic alias for the HidP_SetUsages function. |
HidP_SetData The HidP_SetData routine sets a specified set of HID control button and value usages in a HID report. |
HidP_SetScaledUsageValue The HidP_SetScaledUsageValue routine converts a signed and scaled physical number to a HID usage's logical value, and sets the usage value in a specified HID report. |
HidP_SetUsages The HidP_SetUsages routine sets specified HID control buttons ON (1) in a HID report. |
HidP_SetUsageValue The HidP_SetUsageValue routine sets a HID control value in a specified HID report. |
HidP_SetUsageValueArray The HidP_SetUsageValueArray routine sets a HID control usage value array in a specified HID report. |
HidP_TranslateUsagesToI8042ScanCodes The HidP_TranslateUsagesToI8042ScanCodes routine maps a list of HID usages on the HID_USAGE_PAGE_KEYBOARD usage page to their respective PS/2 scan codes (Scan Code Set 1). |
HidP_UnsetButtons The HidP_UnsetButtons macro is a mnemonic alias for the HidP_UnsetUsages function. |
HidP_UnsetUsages The HidP_UnsetUsages routine sets specified HID control button usages OFF (zero) in a HID report. |
HidP_UsageAndPageListDifference The HidP_UsageAndPageListDifference function returns the difference between two lists of usages. |
HidP_UsageListDifference The HidP_UsageListDifference routine returns the differences between two arrays of HID usages. |
HidRegisterMinidriver The HidRegisterMinidriver routine is called by HID minidrivers, during their initialization, to register with the HID class driver. |
HIDSPICX_DEVICE_CONFIG_INIT Learn more about: HIDSPICX_DEVICE_CONFIG_INIT |
HidSpiCxDeviceConfigure Learn more about: HidSpiCxDeviceConfigure |
HidSpiCxDeviceInitConfig Learn more about: HidSpiCxDeviceInitConfig |
HidSpiCxNotifyDeviceReset Learn more about: HidSpiCxNotifyDeviceReset |
PHIDP_GETCAPS The HidP_GetCaps routine returns a top-level collection's HIDP_CAPS structure. This routine is in hidclass.h. |
PI8042_ISR_WRITE_PORT The PI8042_ISR_WRITE_PORT-typed callback routine writes data to an i8042 port. I8042prt provides this callback. |
PI8042_KEYBOARD_INITIALIZATION_ROUTINE A PI8042_KEYBOARD_INITIALIZATION_ROUTINE-typed callback routine supplements the default initialization of a keyboard device by I8042prt. |
PI8042_KEYBOARD_ISR A PI8042_KEYBOARD_ISR-typed callback routine customizes the operation of the I8042prt keyboard ISR. |
PI8042_MOUSE_ISR A PI8042_MOUSE_ISR-typed callback routine customizes the operation of the I8042prt mouse ISR. |
PI8042_QUEUE_PACKET The PI8042_QUEUE_PACKET-typed callback routine queues an input data packet for processing by the ISR DPC of a keyboard or mouse device. I8042prt provides this callback. |
PI8042_SYNCH_READ_PORT The PI8042_SYNCH_READ_PORT-typed callback routine does a synchronized read from an i8042 port. I8042prt supplies this callback. |
PI8042_SYNCH_WRITE_PORT The PI8042_SYNCH_READ_PORT-typed callback routine does a synchronized write to an i8042 port. I8042prt supplies this routine. |
PSERVICE_CALLBACK_ROUTINE A function driver calls the class service callback in its ISR dispatch completion routine. The class service callback transfers input data from the input data buffer of a device to the class data queue. |
VHF_CONFIG_INIT Use the VHF_CONFIG_INIT function to initialize the required members of the VHF_CONFIG structure allocated by the HID source driver. |
VhfAsyncOperationComplete The HID source driver calls this method to set the results of an asynchronous operation. |
VhfCreate The HID source driver calls this method to create a virtual HID device. |
VhfDelete The HID Source device driver calls this method to delete a VHF device. |
VhfReadReportSubmit The HID source driver calls this method to submit a HID Read (Input) Report to Virtual HID Framework (VHF). |
VhfStart The HID source driver calls this method to start the virtual HID device. |
Structures
CONNECT_DATA CONNECT_DATA specifies information that Kbdclass and Mouclass use to connect to a keyboard or mouse port. |
HID_COLLECTION_INFORMATION The HID_COLLECTION_INFORMATION structure contains general information about a top-level collection. |
HID_DESCRIPTOR The HID_DESCRIPTOR structure represents a HID descriptor for a HIDClass device. |
HID_DEVICE_ATTRIBUTES The HID_DEVICE_ATTRIBUTES structure contains information about a HIDClass device. |
HID_DEVICE_EXTENSION The HID_DEVICE_EXTENSION structure is used by a HID minidriver as its layout for the device extension of a HIDClass device's functional device object. |
HID_MINIDRIVER_REGISTRATION The HID_MINIDRIVER_REGISTRATION structure contains registration information that a HID minidriver passes to the HID Client Drivers when the minidriver registers with the class driver. |
HID_XFER_PACKET The HID_XFER_PACKET structure in hidclass.he contains information about a HID report that the HID class driver uses with I/O requests to get or set a report. |
HID_XFER_PACKET The HID_XFER_PACKET structure in vhf.h contains information about a HID report that the HID class driver uses with I/O requests to get or set a report. |
HIDD_ATTRIBUTES The HIDD_ATTRIBUTES structure contains vendor information about a HIDClass device. |
HIDP_BUTTON_ARRAY_DATA The HIDP_BUTTON_ARRAY_DATA structure is used to get or set data for single button in a button array. |
HIDP_BUTTON_CAPS The HIDP_BUTTON_CAPS structure contains information about the capability of a HID control button usage (or a set of buttons associated with a usage range). |
HIDP_CAPS The HIDP_CAPS structure contains information about a top-level collection's capability. |
HIDP_COLLECTION_DESC Contains the information of a top-level-collection. This structure is used in the HidP_GetCollectionDescription call. |
HIDP_DATA The HIDP_DATA structure contains information about a HID control's data index and value in a HID report. |
HIDP_DEVICE_DESC Contains the device description block filled in collection descriptions as linked lists. This structure is used by HidP_GetCollectionDescription. |
HIDP_EXTENDED_ATTRIBUTES The HIDP_EXTENDED_ATTRIBUTES structure contains information about the global items specified for a HID control that the HID parser did not recognize. |
HIDP_GETCOLDESC_DBG Contains the error code indicating the failure in parsing the report descriptor. This structure is used in the HidP_GetCollectionDescription call. |
HIDP_LINK_COLLECTION_NODE The HIDP_LINK_COLLECTION_NODE structure contains information about a link collection in a top-level collection's link collection array. |
HIDP_REPORT_IDS Contains report ID information for a top-level collection. |
HIDP_UNKNOWN_TOKEN The HIDP_UNKNOWN_TOKEN structure contains information about a global item that the HID parser did not recognize. |
HIDP_VALUE_CAPS The HIDP_VALUE_CAPS structure contains information that describes the capability of a set of HID control values (either a single usage or a usage range). |
HIDSPICX_DEVICE_CONFIG Learn more about: HIDSPICX_DEVICE_CONFIG |
HIDSPICX_DRIVER_GLOBALS Learn more about: HIDSPICX_DRIVER_GLOBALS |
HIDSPICX_REPORT Learn more about: HIDSPICX_REPORT |
INTERNAL_I8042_HOOK_KEYBOARD INTERNAL_I8042_HOOK_KEYBOARD is used by I8042prt to connect optional callback routines that supplement keyboard initialization and the keyboard ISR. The callbacks can be supplied by an optional, vendor-supplied, upper-level filter driver. |
INTERNAL_I8042_HOOK_MOUSE INTERNAL_I8042_HOOK_MOUSE is used by I8042prt to connect an optional callback routine that supplements the operation of the mouse ISR. The callback can be supplied by an optional, vendor-supplied, upper-level filter driver. |
INTERNAL_I8042_START_INFORMATION INTERNAL_I8042_START_INFORMATION specifies the interrupt object that an optional, vendor-supplied, upper-level filter device driver can use to synchronize its operation with an I8042prt ISR. |
OUTPUT_PACKET OUTPUT_PACKET contains information about the data that is being written to a keyboard or mouse device by I8042prt. |
USAGE_AND_PAGE The USAGE_AND_PAGE structure specifies the usage page and usage ID of a HID control. |
VHF_CONFIG Contains initial configuration information that is provided by the HID source driver when it calls VhfCreate to create a virtual HID device. |