ReactOS 0.4.15-dev-7958-gcd0bb1a
hidclass.h File Reference
#include "hidpi.h"
Include dependency graph for hidclass.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _HID_COLLECTION_INFORMATION
 
struct  _HID_DRIVER_CONFIG
 
struct  _HID_INTERFACE_HIDPARSE
 
struct  _HID_INTERFACE_NOTIFY_PNP
 
struct  _HID_XFER_PACKET
 

Macros

#define HID_REVISION   0x00000001
 
#define GUID_CLASS_INPUT   GUID_DEVINTERFACE_HID
 
#define GUID_CLASS_INPUT_STR   "4D1E55B2-F16F-11CF-88CB-001111000030"
 
#define HID_CTL_CODE(id)    CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_NEITHER, FILE_ANY_ACCESS)
 
#define HID_BUFFER_CTL_CODE(id)    CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define HID_IN_CTL_CODE(id)    CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_IN_DIRECT, FILE_ANY_ACCESS)
 
#define HID_OUT_CTL_CODE(id)    CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
 
#define IOCTL_GET_PHYSICAL_DESCRIPTOR   HID_OUT_CTL_CODE(102)
 
#define IOCTL_HID_FLUSH_QUEUE   HID_CTL_CODE(101)
 
#define IOCTL_HID_GET_COLLECTION_DESCRIPTOR   HID_CTL_CODE(100)
 
#define IOCTL_HID_GET_COLLECTION_INFORMATION   HID_BUFFER_CTL_CODE(106)
 
#define IOCTL_HID_GET_FEATURE   HID_OUT_CTL_CODE(100)
 
#define IOCTL_HID_GET_HARDWARE_ID   HID_OUT_CTL_CODE(103)
 
#define IOCTL_HID_GET_INDEXED_STRING   HID_OUT_CTL_CODE(120)
 
#define IOCTL_HID_GET_INPUT_REPORT   HID_OUT_CTL_CODE(104)
 
#define IOCTL_HID_GET_MANUFACTURER_STRING   HID_OUT_CTL_CODE(110)
 
#define IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS   HID_BUFFER_CTL_CODE(104)
 
#define IOCTL_HID_GET_POLL_FREQUENCY_MSEC   HID_BUFFER_CTL_CODE(102)
 
#define IOCTL_HID_GET_PRODUCT_STRING   HID_OUT_CTL_CODE(111)
 
#define IOCTL_HID_GET_SERIALNUMBER_STRING   HID_OUT_CTL_CODE(112)
 
#define IOCTL_HID_SET_FEATURE   HID_IN_CTL_CODE(100)
 
#define IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS   HID_BUFFER_CTL_CODE(105)
 
#define IOCTL_HID_SET_OUTPUT_REPORT   HID_IN_CTL_CODE(101)
 
#define IOCTL_HID_SET_POLL_FREQUENCY_MSEC   HID_BUFFER_CTL_CODE(103)
 
#define IOCTL_HID_GET_DRIVER_CONFIG   HID_BUFFER_CTL_CODE(100)
 
#define IOCTL_HID_SET_DRIVER_CONFIG   HID_BUFFER_CTL_CODE(101)
 
#define IOCTL_HID_GET_INDEXED_STRING   HID_OUT_CTL_CODE(120)
 
#define IOCTL_HID_GET_MS_GENRE_DESCRIPTOR   HID_OUT_CTL_CODE(121)
 

Typedefs

typedef enum _HID_STRING_TYPE HID_STRING_TYPE
 
typedef VOID(NTAPIPHID_STATUS_CHANGE) (_In_ PVOID Context, _In_ enum DeviceObjectState State)
 
typedef struct _HID_COLLECTION_INFORMATION HID_COLLECTION_INFORMATION
 
typedef struct _HID_COLLECTION_INFORMATIONPHID_COLLECTION_INFORMATION
 
typedef struct _HID_DRIVER_CONFIG HID_DRIVER_CONFIG
 
typedef struct _HID_DRIVER_CONFIGPHID_DRIVER_CONFIG
 
typedef struct _HID_INTERFACE_HIDPARSE HID_INTERFACE_HIDPARSE
 
typedef struct _HID_INTERFACE_HIDPARSEPHID_INTERFACE_HIDPARSE
 
typedef struct _HID_INTERFACE_NOTIFY_PNP HID_INTERFACE_NOTIFY_PNP
 
typedef struct _HID_INTERFACE_NOTIFY_PNPPHID_INTERFACE_NOTIFY_PNP
 
typedef struct _HID_XFER_PACKET HID_XFER_PACKET
 
typedef struct _HID_XFER_PACKETPHID_XFER_PACKET
 

Enumerations

enum  _HID_STRING_TYPE {
  HID_STRING_INDEXED = 0 , HID_STRING_ID_IMANUFACTURER , HID_STRING_ID_IPRODUCT , HID_STRING_ID_ISERIALNUMBER ,
  HID_STRING_MAX
}
 
enum  DeviceObjectState { DeviceObjectStarted = 0 , DeviceObjectStopped , DeviceObjectRemoved }
 

Functions

 DEFINE_GUID (GUID_DEVINTERFACE_HID, 0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30)
 
 DEFINE_GUID (GUID_HID_INTERFACE_NOTIFY, 0x2c4e2e88L, 0x25e6, 0x4c33, 0x88, 0x2f, 0x3d, 0x82, 0xe6, 0x07, 0x36, 0x81)
 
 DEFINE_GUID (GUID_HID_INTERFACE_HIDPARSE, 0xf5c315a5, 0x69ac, 0x4bc2, 0x92, 0x79, 0xd0, 0xb6, 0x45, 0x76, 0xf4, 0x4b)
 
_Must_inspect_result_ typedef NTSTATUS (NTAPI *PHIDP_GETCAPS)(_In_ PHIDP_PREPARSED_DATA PreparsedData
 

Variables

_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
 

Macro Definition Documentation

◆ GUID_CLASS_INPUT

#define GUID_CLASS_INPUT   GUID_DEVINTERFACE_HID

Definition at line 41 of file hidclass.h.

◆ GUID_CLASS_INPUT_STR

#define GUID_CLASS_INPUT_STR   "4D1E55B2-F16F-11CF-88CB-001111000030"

Definition at line 43 of file hidclass.h.

◆ HID_BUFFER_CTL_CODE

#define HID_BUFFER_CTL_CODE (   id)     CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 48 of file hidclass.h.

◆ HID_CTL_CODE

Definition at line 46 of file hidclass.h.

◆ HID_IN_CTL_CODE

Definition at line 50 of file hidclass.h.

◆ HID_OUT_CTL_CODE

Definition at line 52 of file hidclass.h.

◆ HID_REVISION

#define HID_REVISION   0x00000001

Definition at line 32 of file hidclass.h.

◆ IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS

#define IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS   HID_BUFFER_CTL_CODE(104)

Definition at line 65 of file hidclass.h.

◆ IOCTL_GET_PHYSICAL_DESCRIPTOR

#define IOCTL_GET_PHYSICAL_DESCRIPTOR   HID_OUT_CTL_CODE(102)

Definition at line 56 of file hidclass.h.

◆ IOCTL_HID_FLUSH_QUEUE

#define IOCTL_HID_FLUSH_QUEUE   HID_CTL_CODE(101)

Definition at line 57 of file hidclass.h.

◆ IOCTL_HID_GET_COLLECTION_DESCRIPTOR

#define IOCTL_HID_GET_COLLECTION_DESCRIPTOR   HID_CTL_CODE(100)

Definition at line 58 of file hidclass.h.

◆ IOCTL_HID_GET_COLLECTION_INFORMATION

#define IOCTL_HID_GET_COLLECTION_INFORMATION   HID_BUFFER_CTL_CODE(106)

Definition at line 59 of file hidclass.h.

◆ IOCTL_HID_GET_DRIVER_CONFIG

#define IOCTL_HID_GET_DRIVER_CONFIG   HID_BUFFER_CTL_CODE(100)

Definition at line 74 of file hidclass.h.

◆ IOCTL_HID_GET_FEATURE

#define IOCTL_HID_GET_FEATURE   HID_OUT_CTL_CODE(100)

Definition at line 60 of file hidclass.h.

◆ IOCTL_HID_GET_HARDWARE_ID

#define IOCTL_HID_GET_HARDWARE_ID   HID_OUT_CTL_CODE(103)

Definition at line 61 of file hidclass.h.

◆ IOCTL_HID_GET_INDEXED_STRING [1/2]

#define IOCTL_HID_GET_INDEXED_STRING   HID_OUT_CTL_CODE(120)

Definition at line 76 of file hidclass.h.

◆ IOCTL_HID_GET_INDEXED_STRING [2/2]

#define IOCTL_HID_GET_INDEXED_STRING   HID_OUT_CTL_CODE(120)

Definition at line 76 of file hidclass.h.

◆ IOCTL_HID_GET_INPUT_REPORT

#define IOCTL_HID_GET_INPUT_REPORT   HID_OUT_CTL_CODE(104)

Definition at line 63 of file hidclass.h.

◆ IOCTL_HID_GET_MANUFACTURER_STRING

#define IOCTL_HID_GET_MANUFACTURER_STRING   HID_OUT_CTL_CODE(110)

Definition at line 64 of file hidclass.h.

◆ IOCTL_HID_GET_MS_GENRE_DESCRIPTOR

#define IOCTL_HID_GET_MS_GENRE_DESCRIPTOR   HID_OUT_CTL_CODE(121)

Definition at line 77 of file hidclass.h.

◆ IOCTL_HID_GET_POLL_FREQUENCY_MSEC

#define IOCTL_HID_GET_POLL_FREQUENCY_MSEC   HID_BUFFER_CTL_CODE(102)

Definition at line 66 of file hidclass.h.

◆ IOCTL_HID_GET_PRODUCT_STRING

#define IOCTL_HID_GET_PRODUCT_STRING   HID_OUT_CTL_CODE(111)

Definition at line 67 of file hidclass.h.

◆ IOCTL_HID_GET_SERIALNUMBER_STRING

#define IOCTL_HID_GET_SERIALNUMBER_STRING   HID_OUT_CTL_CODE(112)

Definition at line 68 of file hidclass.h.

◆ IOCTL_HID_SET_DRIVER_CONFIG

#define IOCTL_HID_SET_DRIVER_CONFIG   HID_BUFFER_CTL_CODE(101)

Definition at line 75 of file hidclass.h.

◆ IOCTL_HID_SET_FEATURE

#define IOCTL_HID_SET_FEATURE   HID_IN_CTL_CODE(100)

Definition at line 69 of file hidclass.h.

◆ IOCTL_HID_SET_OUTPUT_REPORT

#define IOCTL_HID_SET_OUTPUT_REPORT   HID_IN_CTL_CODE(101)

Definition at line 71 of file hidclass.h.

◆ IOCTL_HID_SET_POLL_FREQUENCY_MSEC

#define IOCTL_HID_SET_POLL_FREQUENCY_MSEC   HID_BUFFER_CTL_CODE(103)

Definition at line 72 of file hidclass.h.

◆ IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS

#define IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS   HID_BUFFER_CTL_CODE(105)

Definition at line 70 of file hidclass.h.

Typedef Documentation

◆ HID_COLLECTION_INFORMATION

◆ HID_DRIVER_CONFIG

◆ HID_INTERFACE_HIDPARSE

◆ HID_INTERFACE_NOTIFY_PNP

◆ HID_STRING_TYPE

◆ HID_XFER_PACKET

◆ PHID_COLLECTION_INFORMATION

◆ PHID_DRIVER_CONFIG

◆ PHID_INTERFACE_HIDPARSE

◆ PHID_INTERFACE_NOTIFY_PNP

◆ PHID_STATUS_CHANGE

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

Definition at line 94 of file hidclass.h.

◆ PHID_XFER_PACKET

Enumeration Type Documentation

◆ _HID_STRING_TYPE

Enumerator
HID_STRING_INDEXED 
HID_STRING_ID_IMANUFACTURER 
HID_STRING_ID_IPRODUCT 
HID_STRING_ID_ISERIALNUMBER 
HID_STRING_MAX 

Definition at line 79 of file hidclass.h.

80{
enum _HID_STRING_TYPE HID_STRING_TYPE
@ HID_STRING_ID_ISERIALNUMBER
Definition: hidclass.h:84
@ HID_STRING_MAX
Definition: hidclass.h:85
@ HID_STRING_INDEXED
Definition: hidclass.h:81
@ HID_STRING_ID_IPRODUCT
Definition: hidclass.h:83
@ HID_STRING_ID_IMANUFACTURER
Definition: hidclass.h:82

◆ DeviceObjectState

Enumerator
DeviceObjectStarted 
DeviceObjectStopped 
DeviceObjectRemoved 

Definition at line 88 of file hidclass.h.

88 {
92};
@ DeviceObjectRemoved
Definition: hidclass.h:91
@ DeviceObjectStopped
Definition: hidclass.h:90
@ DeviceObjectStarted
Definition: hidclass.h:89

Function Documentation

◆ DEFINE_GUID() [1/3]

DEFINE_GUID ( GUID_DEVINTERFACE_HID  ,
0x4D1E55B2L  ,
0xF16F  ,
0x11CF  ,
0x88  ,
0xCB  ,
0x00  ,
0x11  ,
0x11  ,
0x00  ,
0x00  ,
0x30   
)

◆ DEFINE_GUID() [2/3]

DEFINE_GUID ( GUID_HID_INTERFACE_HIDPARSE  ,
0xf5c315a5  ,
0x69ac  ,
0x4bc2  ,
0x92  ,
0x79  ,
0xd0  ,
0xb6  ,
0x45  ,
0x76  ,
0xf4  ,
0x4b   
)

◆ DEFINE_GUID() [3/3]

DEFINE_GUID ( GUID_HID_INTERFACE_NOTIFY  ,
0x2c4e2e88L  ,
0x25e6  ,
0x4c33  ,
0x88  ,
0x2f  ,
0x3d  ,
0x82  ,
0xe6  ,
0x07  ,
0x36  ,
0x81   
)

◆ NTSTATUS()

_Must_inspect_result_ typedef NTSTATUS ( NTAPI PHIDP_GETCAPS)

Variable Documentation

◆ Capabilities