mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 23:03:00 +00:00
[DDK]
- d4drvif.h : Introduce pragma once, apply a consistent formatting, group related definitions and add several missing ones. - d4iface.h : Introduce pragma once, apply a consistent formatting and group related definitions. - dderror.h : Introduce pragma once and apply a consistent formatting. - dxapi.h : Apply consistent formatting. - fltsafe.h : Guard FLOATSAFE inside the proper NTDDI_VERSION and apply a consistent formatting. - kbdmou.h : Introduce pragma once, apply a consistent formatting and add a missing wmidata.h inclusion. - ntddmou.h : Move to PSDK, introduce pragma once, apply a consistent formatting and add several missing definitions. [PSDK] - ntddkbd.h : Introduce pragma once, apply a consistent formatting and add several missing definitions. svn path=/branches/header-work/; revision=46889
This commit is contained in:
parent
3e032a1c42
commit
3ba7cea0e7
8 changed files with 169 additions and 145 deletions
|
@ -20,17 +20,34 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __D4DRVIF_H
|
#pragma once
|
||||||
#define __D4DRVIF_H
|
|
||||||
|
|
||||||
#include "d4iface.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FILE_DEVICE_DOT4 0x3a
|
#define MAX_SERVICE_LENGTH 40
|
||||||
#define IOCTL_DOT4_USER_BASE 2049
|
|
||||||
|
#ifndef CTL_CODE
|
||||||
|
|
||||||
|
#define CTL_CODE( DeviceType, Function, Method, Access ) ( \
|
||||||
|
((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
|
||||||
|
)
|
||||||
|
|
||||||
|
#define METHOD_BUFFERED 0
|
||||||
|
#define METHOD_IN_DIRECT 1
|
||||||
|
#define METHOD_OUT_DIRECT 2
|
||||||
|
#define METHOD_NEITHER 3
|
||||||
|
|
||||||
|
#define FILE_ANY_ACCESS 0
|
||||||
|
#define FILE_READ_ACCESS 0x0001
|
||||||
|
#define FILE_WRITE_ACCESS 0x0002
|
||||||
|
|
||||||
|
#endif /* CTL_CODE */
|
||||||
|
|
||||||
|
#define FILE_DEVICE_DOT4 0x3a
|
||||||
|
#define IOCTL_DOT4_USER_BASE 2049
|
||||||
|
#define IOCTL_DOT4_LAST IOCTL_DOT4_USER_BASE + 9
|
||||||
|
|
||||||
#define IOCTL_DOT4_ADD_ACTIVITY_BROADCAST \
|
#define IOCTL_DOT4_ADD_ACTIVITY_BROADCAST \
|
||||||
CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||||
|
@ -63,37 +80,33 @@ extern "C" {
|
||||||
CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 3, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
|
CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 3, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
|
|
||||||
#define MAX_SERVICE_LENGTH 40
|
|
||||||
|
|
||||||
typedef struct _DOT4_DC_CREATE_DATA {
|
typedef struct _DOT4_DC_CREATE_DATA {
|
||||||
unsigned char bPsid;
|
unsigned char bPsid;
|
||||||
CHAR pServiceName[MAX_SERVICE_LENGTH + 1];
|
CHAR pServiceName[MAX_SERVICE_LENGTH + 1];
|
||||||
unsigned char bType;
|
unsigned char bType;
|
||||||
ULONG ulBufferSize;
|
ULONG ulBufferSize;
|
||||||
USHORT usMaxHtoPPacketSize;
|
USHORT usMaxHtoPPacketSize;
|
||||||
USHORT usMaxPtoHPacketSize;
|
USHORT usMaxPtoHPacketSize;
|
||||||
unsigned char bHsid;
|
unsigned char bHsid;
|
||||||
} DOT4_DC_CREATE_DATA, *PDOT4_DC_CREATE_DATA;
|
} DOT4_DC_CREATE_DATA, *PDOT4_DC_CREATE_DATA;
|
||||||
|
|
||||||
typedef struct _DOT4_DC_DESTROY_DATA {
|
typedef struct _DOT4_DC_DESTROY_DATA {
|
||||||
unsigned char bHsid;
|
unsigned char bHsid;
|
||||||
} DOT4_DC_DESTROY_DATA, *PDOT4_DC_DESTROY_DATA;
|
} DOT4_DC_DESTROY_DATA, *PDOT4_DC_DESTROY_DATA;
|
||||||
|
|
||||||
typedef struct _DOT4_DC_OPEN_DATA {
|
typedef struct _DOT4_DC_OPEN_DATA {
|
||||||
unsigned char bHsid;
|
unsigned char bHsid;
|
||||||
unsigned char fAddActivity;
|
unsigned char fAddActivity;
|
||||||
CHANNEL_HANDLE hChannelHandle;
|
CHANNEL_HANDLE hChannelHandle;
|
||||||
} DOT4_DC_OPEN_DATA, *PDOT4_DC_OPEN_DATA;
|
} DOT4_DC_OPEN_DATA, *PDOT4_DC_OPEN_DATA;
|
||||||
|
|
||||||
typedef struct _DOT4_DRIVER_CMD {
|
typedef struct _DOT4_DRIVER_CMD {
|
||||||
CHANNEL_HANDLE hChannelHandle;
|
CHANNEL_HANDLE hChannelHandle;
|
||||||
ULONG ulSize;
|
ULONG ulSize;
|
||||||
ULONG ulOffset;
|
ULONG ulOffset;
|
||||||
ULONG ulTimeout;
|
ULONG ulTimeout;
|
||||||
} DOT4_DRIVER_CMD, *PDOT4_DRIVER_CMD;
|
} DOT4_DRIVER_CMD, *PDOT4_DRIVER_CMD;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __D4DRVIF_H */
|
|
||||||
|
|
|
@ -1,20 +1,9 @@
|
||||||
#ifndef _DOT4_IFACE_H
|
#pragma once
|
||||||
#define _DOT4_IFACE_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef unsigned long CHANNEL_HANDLE;
|
|
||||||
typedef CHANNEL_HANDLE *PCHANNEL_HANDLE;
|
|
||||||
|
|
||||||
typedef struct _DOT4_ACTIVITY
|
|
||||||
{
|
|
||||||
ULONG ulMessage;
|
|
||||||
ULONG ulByteCount;
|
|
||||||
CHANNEL_HANDLE hChannel;
|
|
||||||
} DOT4_ACTIVITY, *PDOT4_ACTIVITY;
|
|
||||||
|
|
||||||
#define DOT4_MAX_CHANNELS 128
|
#define DOT4_MAX_CHANNELS 128
|
||||||
#define NO_TIMEOUT 0
|
#define NO_TIMEOUT 0
|
||||||
#define STREAM_TYPE_CHANNEL 1
|
#define STREAM_TYPE_CHANNEL 1
|
||||||
|
@ -40,8 +29,14 @@ typedef struct _DOT4_ACTIVITY
|
||||||
#define CONFIG_UPLOAD 14
|
#define CONFIG_UPLOAD 14
|
||||||
#define CONFIG_DOWNLOAD 15
|
#define CONFIG_DOWNLOAD 15
|
||||||
|
|
||||||
|
typedef unsigned long CHANNEL_HANDLE, *PCHANNEL_HANDLE;
|
||||||
|
|
||||||
|
typedef struct _DOT4_ACTIVITY {
|
||||||
|
ULONG ulMessage;
|
||||||
|
ULONG ulByteCount;
|
||||||
|
CHANNEL_HANDLE hChannel;
|
||||||
|
} DOT4_ACTIVITY, *PDOT4_ACTIVITY;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,18 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#ifndef _DDERROR_
|
|
||||||
#define _DDERROR_
|
|
||||||
#define _WINERROR_
|
#define _WINERROR_
|
||||||
#define NO_ERROR 0
|
|
||||||
#define ERROR_INVALID_FUNCTION 1
|
|
||||||
#define ERROR_NOT_ENOUGH_MEMORY 8
|
|
||||||
#define ERROR_DEV_NOT_EXIST 55
|
|
||||||
#define ERROR_INVALID_PARAMETER 87
|
|
||||||
#define ERROR_INSUFFICIENT_BUFFER 122
|
|
||||||
#define ERROR_INVALID_NAME 123
|
|
||||||
#define ERROR_BUSY 170
|
|
||||||
#define ERROR_MORE_DATA 234
|
|
||||||
#define WAIT_TIMEOUT 258
|
|
||||||
#define ERROR_IO_PENDING 997
|
|
||||||
#define ERROR_DEVICE_REINITIALIZATION_NEEDED 1164
|
|
||||||
#define ERROR_CONTINUE 1246
|
|
||||||
#define ERROR_NO_MORE_DEVICES 1248
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
#define NO_ERROR 0
|
||||||
|
#define ERROR_INVALID_FUNCTION 1
|
||||||
|
#define ERROR_NOT_ENOUGH_MEMORY 8
|
||||||
|
#define ERROR_DEV_NOT_EXIST 55
|
||||||
|
#define ERROR_INVALID_PARAMETER 87
|
||||||
|
#define ERROR_INSUFFICIENT_BUFFER 122
|
||||||
|
#define ERROR_INVALID_NAME 123
|
||||||
|
#define ERROR_BUSY 170
|
||||||
|
#define ERROR_MORE_DATA 234
|
||||||
|
#define WAIT_TIMEOUT 258
|
||||||
|
#define ERROR_IO_PENDING 997
|
||||||
|
#define ERROR_DEVICE_REINITIALIZATION_NEEDED 1164
|
||||||
|
#define ERROR_CONTINUE 1246
|
||||||
|
#define ERROR_NO_MORE_DEVICES 1248
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
|
ULONG
|
||||||
|
DxApiGetVersion();
|
||||||
|
|
||||||
ULONG DxApiGetVersion();
|
ULONG
|
||||||
ULONG DxApi( IN ULONG dwFunctionNum,IN PVOID lpvInBuffer, IN ULONG cbInBuffer,
|
DxApi(
|
||||||
IN PVOID lpvOutBuffer, IN ULONG cbOutBuffer);
|
IN ULONG dwFunctionNum,
|
||||||
|
IN PVOID lpvInBuffer,
|
||||||
|
IN ULONG cbInBuffer,
|
||||||
|
IN PVOID lpvOutBuffer,
|
||||||
|
IN ULONG cbOutBuffer);
|
||||||
|
|
|
@ -1,19 +1,14 @@
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||||
struct FLOATSAFE
|
struct FLOATSAFE {
|
||||||
{
|
KFLOATING_SAVE FloatSave;
|
||||||
KFLOATING_SAVE FloatSave;
|
NTSTATUS ntStatus;
|
||||||
NTSTATUS ntStatus;
|
FLOATSAFE::FLOATSAFE(void) {
|
||||||
|
ntStatus = KeSaveFloatingPointState(&FloatSave);
|
||||||
FLOATSAFE::FLOATSAFE(void)
|
}
|
||||||
{
|
FLOATSAFE::~FLOATSAFE(void) {
|
||||||
ntStatus = KeSaveFloatingPointState(&FloatSave);
|
if (NT_SUCCESS(ntStatus)) {
|
||||||
}
|
KeRestoreFloatingPointState(&FloatSave);
|
||||||
|
}
|
||||||
FLOATSAFE::~FLOATSAFE(void)
|
}
|
||||||
{
|
|
||||||
if (NT_SUCCESS(ntStatus))
|
|
||||||
{
|
|
||||||
KeRestoreFloatingPointState(&FloatSave);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
|
@ -20,8 +20,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __KBDMOU_H
|
#pragma once
|
||||||
#define __KBDMOU_H
|
|
||||||
|
|
||||||
#include <ntddkbd.h>
|
#include <ntddkbd.h>
|
||||||
#include <ntddmou.h>
|
#include <ntddmou.h>
|
||||||
|
@ -77,15 +76,15 @@
|
||||||
CTL_CODE(FILE_DEVICE_MOUSE, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
|
CTL_CODE(FILE_DEVICE_MOUSE, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
typedef struct _CONNECT_DATA {
|
typedef struct _CONNECT_DATA {
|
||||||
PDEVICE_OBJECT ClassDeviceObject;
|
PDEVICE_OBJECT ClassDeviceObject;
|
||||||
PVOID ClassService;
|
PVOID ClassService;
|
||||||
} CONNECT_DATA, *PCONNECT_DATA;
|
} CONNECT_DATA, *PCONNECT_DATA;
|
||||||
|
|
||||||
typedef VOID
|
typedef VOID
|
||||||
(STDAPICALLTYPE *PSERVICE_CALLBACK_ROUTINE)(
|
(STDAPICALLTYPE *PSERVICE_CALLBACK_ROUTINE)(
|
||||||
IN PVOID NormalContext,
|
IN PVOID NormalContext,
|
||||||
IN PVOID SystemArgument1,
|
IN PVOID SystemArgument1,
|
||||||
IN PVOID SystemArgument2,
|
IN PVOID SystemArgument2,
|
||||||
IN OUT PVOID SystemArgument3);
|
IN OUT PVOID SystemArgument3);
|
||||||
|
|
||||||
#endif /* __KBDMOU_H */
|
#include <wmidata.h>
|
||||||
|
|
|
@ -20,8 +20,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __NTDDKBD_H
|
#pragma once
|
||||||
#define __NTDDKBD_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@ -48,20 +47,33 @@ extern "C" {
|
||||||
#define IOCTL_KEYBOARD_SET_INDICATORS \
|
#define IOCTL_KEYBOARD_SET_INDICATORS \
|
||||||
CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
|
#define IOCTL_KEYBOARD_INSERT_DATA \
|
||||||
|
CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0040, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
|
#define IOCTL_KEYBOARD_QUERY_IME_STATUS \
|
||||||
|
CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0400, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
|
#define IOCTL_KEYBOARD_SET_IME_STATUS \
|
||||||
|
CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0401, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
DEFINE_GUID(GUID_DEVINTERFACE_KEYBOARD, \
|
DEFINE_GUID(GUID_DEVINTERFACE_KEYBOARD, \
|
||||||
0x884b96c3, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
|
0x884b96c3, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
|
||||||
|
|
||||||
|
#define GUID_CLASS_KEYBOARD GUID_DEVINTERFACE_KEYBOARD /* Obsolete */
|
||||||
|
|
||||||
#define KEYBOARD_ERROR_VALUE_BASE 10000
|
#define KEYBOARD_ERROR_VALUE_BASE 10000
|
||||||
|
|
||||||
/* KEYBOARD_INPUT_DATA.MakeCode constants */
|
/* KEYBOARD_INPUT_DATA.MakeCode constants */
|
||||||
#define KEYBOARD_OVERRUN_MAKE_CODE 0xFF
|
#define KEYBOARD_OVERRUN_MAKE_CODE 0xFF
|
||||||
|
|
||||||
/* KEYBOARD_INPUT_DATA.Flags constants */
|
/* KEYBOARD_INPUT_DATA.Flags constants */
|
||||||
#define KEY_MAKE 0
|
#define KEY_MAKE 0
|
||||||
#define KEY_BREAK 1
|
#define KEY_BREAK 1
|
||||||
#define KEY_E0 2
|
#define KEY_E0 2
|
||||||
#define KEY_E1 4
|
#define KEY_E1 4
|
||||||
|
#define KEY_TERMSRV_SET_LED 8
|
||||||
|
#define KEY_TERMSRV_SHADOW 0x10
|
||||||
|
#define KEY_TERMSRV_VKPACKET 0x20
|
||||||
|
|
||||||
#define KEYBOARD_LED_INJECTED 0x8000
|
#define KEYBOARD_LED_INJECTED 0x8000
|
||||||
#define KEYBOARD_SHADOW 0x4000
|
#define KEYBOARD_SHADOW 0x4000
|
||||||
|
@ -71,66 +83,64 @@ DEFINE_GUID(GUID_DEVINTERFACE_KEYBOARD, \
|
||||||
#define KEYBOARD_SCROLL_LOCK_ON 1
|
#define KEYBOARD_SCROLL_LOCK_ON 1
|
||||||
|
|
||||||
typedef struct _KEYBOARD_INPUT_DATA {
|
typedef struct _KEYBOARD_INPUT_DATA {
|
||||||
USHORT UnitId;
|
USHORT UnitId;
|
||||||
USHORT MakeCode;
|
USHORT MakeCode;
|
||||||
USHORT Flags;
|
USHORT Flags;
|
||||||
USHORT Reserved;
|
USHORT Reserved;
|
||||||
ULONG ExtraInformation;
|
ULONG ExtraInformation;
|
||||||
} KEYBOARD_INPUT_DATA, *PKEYBOARD_INPUT_DATA;
|
} KEYBOARD_INPUT_DATA, *PKEYBOARD_INPUT_DATA;
|
||||||
|
|
||||||
|
|
||||||
typedef struct _KEYBOARD_TYPEMATIC_PARAMETERS {
|
typedef struct _KEYBOARD_TYPEMATIC_PARAMETERS {
|
||||||
USHORT UnitId;
|
USHORT UnitId;
|
||||||
USHORT Rate;
|
USHORT Rate;
|
||||||
USHORT Delay;
|
USHORT Delay;
|
||||||
} KEYBOARD_TYPEMATIC_PARAMETERS, *PKEYBOARD_TYPEMATIC_PARAMETERS;
|
} KEYBOARD_TYPEMATIC_PARAMETERS, *PKEYBOARD_TYPEMATIC_PARAMETERS;
|
||||||
|
|
||||||
typedef struct _KEYBOARD_ID {
|
typedef struct _KEYBOARD_ID {
|
||||||
UCHAR Type;
|
UCHAR Type;
|
||||||
UCHAR Subtype;
|
UCHAR Subtype;
|
||||||
} KEYBOARD_ID, *PKEYBOARD_ID;
|
} KEYBOARD_ID, *PKEYBOARD_ID;
|
||||||
|
|
||||||
#define ENHANCED_KEYBOARD(Id) ((Id).Type == 2 || (Id).Type == 4 || FAREAST_KEYBOARD(Id))
|
#define ENHANCED_KEYBOARD(Id) ((Id).Type == 2 || (Id).Type == 4 || FAREAST_KEYBOARD(Id))
|
||||||
#define FAREAST_KEYBOARD(Id) ((Id).Type == 7 || (Id).Type == 8)
|
#define FAREAST_KEYBOARD(Id) ((Id).Type == 7 || (Id).Type == 8)
|
||||||
|
|
||||||
typedef struct _KEYBOARD_INDICATOR_PARAMETERS {
|
typedef struct _KEYBOARD_INDICATOR_PARAMETERS {
|
||||||
USHORT UnitId;
|
USHORT UnitId;
|
||||||
USHORT LedFlags;
|
USHORT LedFlags;
|
||||||
} KEYBOARD_INDICATOR_PARAMETERS, *PKEYBOARD_INDICATOR_PARAMETERS;
|
} KEYBOARD_INDICATOR_PARAMETERS, *PKEYBOARD_INDICATOR_PARAMETERS;
|
||||||
|
|
||||||
typedef struct _INDICATOR_LIST {
|
typedef struct _INDICATOR_LIST {
|
||||||
USHORT MakeCode;
|
USHORT MakeCode;
|
||||||
USHORT IndicatorFlags;
|
USHORT IndicatorFlags;
|
||||||
} INDICATOR_LIST, *PINDICATOR_LIST;
|
} INDICATOR_LIST, *PINDICATOR_LIST;
|
||||||
|
|
||||||
typedef struct _KEYBOARD_INDICATOR_TRANSLATION {
|
typedef struct _KEYBOARD_INDICATOR_TRANSLATION {
|
||||||
USHORT NumberOfIndicatorKeys;
|
USHORT NumberOfIndicatorKeys;
|
||||||
INDICATOR_LIST IndicatorList[1];
|
INDICATOR_LIST IndicatorList[1];
|
||||||
} KEYBOARD_INDICATOR_TRANSLATION, *PKEYBOARD_INDICATOR_TRANSLATION;
|
} KEYBOARD_INDICATOR_TRANSLATION, *PKEYBOARD_INDICATOR_TRANSLATION;
|
||||||
|
|
||||||
typedef struct _KEYBOARD_ATTRIBUTES {
|
typedef struct _KEYBOARD_ATTRIBUTES {
|
||||||
KEYBOARD_ID KeyboardIdentifier;
|
KEYBOARD_ID KeyboardIdentifier;
|
||||||
USHORT KeyboardMode;
|
USHORT KeyboardMode;
|
||||||
USHORT NumberOfFunctionKeys;
|
USHORT NumberOfFunctionKeys;
|
||||||
USHORT NumberOfIndicators;
|
USHORT NumberOfIndicators;
|
||||||
USHORT NumberOfKeysTotal;
|
USHORT NumberOfKeysTotal;
|
||||||
ULONG InputDataQueueLength;
|
ULONG InputDataQueueLength;
|
||||||
KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMinimum;
|
KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMinimum;
|
||||||
KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMaximum;
|
KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMaximum;
|
||||||
} KEYBOARD_ATTRIBUTES, *PKEYBOARD_ATTRIBUTES;
|
} KEYBOARD_ATTRIBUTES, *PKEYBOARD_ATTRIBUTES;
|
||||||
|
|
||||||
typedef struct _KEYBOARD_UNIT_ID_PARAMETER {
|
typedef struct _KEYBOARD_UNIT_ID_PARAMETER {
|
||||||
USHORT UnitId;
|
USHORT UnitId;
|
||||||
} KEYBOARD_UNIT_ID_PARAMETER, *PKEYBOARD_UNIT_ID_PARAMETER;
|
} KEYBOARD_UNIT_ID_PARAMETER, *PKEYBOARD_UNIT_ID_PARAMETER;
|
||||||
|
|
||||||
typedef struct _KEYBOARD_IME_STATUS {
|
typedef struct _KEYBOARD_IME_STATUS {
|
||||||
USHORT UnitId;
|
USHORT UnitId;
|
||||||
ULONG ImeOpen;
|
ULONG ImeOpen;
|
||||||
ULONG ImeConvMode;
|
ULONG ImeConvMode;
|
||||||
} KEYBOARD_IME_STATUS, *PKEYBOARD_IME_STATUS;
|
} KEYBOARD_IME_STATUS, *PKEYBOARD_IME_STATUS;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __NTDDKBD_H */
|
|
||||||
|
|
|
@ -20,8 +20,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __NTDDMOU_H
|
#pragma once
|
||||||
#define __NTDDMOU_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@ -33,9 +32,14 @@ extern "C" {
|
||||||
#define IOCTL_MOUSE_QUERY_ATTRIBUTES \
|
#define IOCTL_MOUSE_QUERY_ATTRIBUTES \
|
||||||
CTL_CODE(FILE_DEVICE_MOUSE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
CTL_CODE(FILE_DEVICE_MOUSE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
|
#define IOCTL_MOUSE_INSERT_DATA \
|
||||||
|
CTL_CODE(FILE_DEVICE_MOUSE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
DEFINE_GUID(GUID_DEVINTERFACE_MOUSE, \
|
DEFINE_GUID(GUID_DEVINTERFACE_MOUSE, \
|
||||||
0x378de44c, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
|
0x378de44c, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
|
||||||
|
|
||||||
|
#define GUID_CLASS_MOUSE GUID_DEVINTERFACE_MOUSE /* Obsolete */
|
||||||
|
|
||||||
#define MOUSE_ERROR_VALUE_BASE 20000
|
#define MOUSE_ERROR_VALUE_BASE 20000
|
||||||
|
|
||||||
/* MOUSE_INPUT_DATA.ButtonFlags constants */
|
/* MOUSE_INPUT_DATA.ButtonFlags constants */
|
||||||
|
@ -50,6 +54,7 @@ DEFINE_GUID(GUID_DEVINTERFACE_MOUSE, \
|
||||||
#define MOUSE_BUTTON_5_DOWN 0x0100
|
#define MOUSE_BUTTON_5_DOWN 0x0100
|
||||||
#define MOUSE_BUTTON_5_UP 0x0200
|
#define MOUSE_BUTTON_5_UP 0x0200
|
||||||
#define MOUSE_WHEEL 0x0400
|
#define MOUSE_WHEEL 0x0400
|
||||||
|
#define MOUSE_HWHEEL 0x0800
|
||||||
|
|
||||||
#define MOUSE_BUTTON_1_DOWN MOUSE_LEFT_BUTTON_DOWN
|
#define MOUSE_BUTTON_1_DOWN MOUSE_LEFT_BUTTON_DOWN
|
||||||
#define MOUSE_BUTTON_1_UP MOUSE_LEFT_BUTTON_UP
|
#define MOUSE_BUTTON_1_UP MOUSE_LEFT_BUTTON_UP
|
||||||
|
@ -63,25 +68,29 @@ DEFINE_GUID(GUID_DEVINTERFACE_MOUSE, \
|
||||||
#define MOUSE_MOVE_ABSOLUTE 1
|
#define MOUSE_MOVE_ABSOLUTE 1
|
||||||
#define MOUSE_VIRTUAL_DESKTOP 0x02
|
#define MOUSE_VIRTUAL_DESKTOP 0x02
|
||||||
#define MOUSE_ATTRIBUTES_CHANGED 0x04
|
#define MOUSE_ATTRIBUTES_CHANGED 0x04
|
||||||
|
#if(_WIN32_WINNT >= 0x0600)
|
||||||
|
#define MOUSE_MOVE_NOCOALESCE 0x08
|
||||||
|
#endif
|
||||||
|
#define MOUSE_TERMSRV_SRC_SHADOW 0x100
|
||||||
|
|
||||||
typedef struct _MOUSE_INPUT_DATA {
|
typedef struct _MOUSE_INPUT_DATA {
|
||||||
USHORT UnitId;
|
USHORT UnitId;
|
||||||
USHORT Flags;
|
USHORT Flags;
|
||||||
_ANONYMOUS_UNION union {
|
_ANONYMOUS_UNION union {
|
||||||
ULONG Buttons;
|
ULONG Buttons;
|
||||||
_ANONYMOUS_STRUCT struct {
|
_ANONYMOUS_STRUCT struct {
|
||||||
USHORT ButtonFlags;
|
USHORT ButtonFlags;
|
||||||
USHORT ButtonData;
|
USHORT ButtonData;
|
||||||
} DUMMYSTRUCTNAME;
|
} DUMMYSTRUCTNAME;
|
||||||
} DUMMYUNIONNAME;
|
} DUMMYUNIONNAME;
|
||||||
ULONG RawButtons;
|
ULONG RawButtons;
|
||||||
LONG LastX;
|
LONG LastX;
|
||||||
LONG LastY;
|
LONG LastY;
|
||||||
ULONG ExtraInformation;
|
ULONG ExtraInformation;
|
||||||
} MOUSE_INPUT_DATA, *PMOUSE_INPUT_DATA;
|
} MOUSE_INPUT_DATA, *PMOUSE_INPUT_DATA;
|
||||||
|
|
||||||
typedef struct _MOUSE_UNIT_ID_PARAMETER {
|
typedef struct _MOUSE_UNIT_ID_PARAMETER {
|
||||||
USHORT UnitId;
|
USHORT UnitId;
|
||||||
} MOUSE_UNIT_ID_PARAMETER, *PMOUSE_UNIT_ID_PARAMETER;
|
} MOUSE_UNIT_ID_PARAMETER, *PMOUSE_UNIT_ID_PARAMETER;
|
||||||
|
|
||||||
/* MOUSE_ATTRIBUTES.MouseIdentifier constants */
|
/* MOUSE_ATTRIBUTES.MouseIdentifier constants */
|
||||||
|
@ -94,16 +103,15 @@ typedef struct _MOUSE_UNIT_ID_PARAMETER {
|
||||||
#define WHEELMOUSE_SERIAL_HARDWARE 0x0040
|
#define WHEELMOUSE_SERIAL_HARDWARE 0x0040
|
||||||
#define MOUSE_HID_HARDWARE 0x0080
|
#define MOUSE_HID_HARDWARE 0x0080
|
||||||
#define WHEELMOUSE_HID_HARDWARE 0x0100
|
#define WHEELMOUSE_HID_HARDWARE 0x0100
|
||||||
|
#define HORIZONTAL_WHEEL_PRESENT 0x8000
|
||||||
|
|
||||||
typedef struct _MOUSE_ATTRIBUTES {
|
typedef struct _MOUSE_ATTRIBUTES {
|
||||||
USHORT MouseIdentifier;
|
USHORT MouseIdentifier;
|
||||||
USHORT NumberOfButtons;
|
USHORT NumberOfButtons;
|
||||||
USHORT SampleRate;
|
USHORT SampleRate;
|
||||||
ULONG InputDataQueueLength;
|
ULONG InputDataQueueLength;
|
||||||
} MOUSE_ATTRIBUTES, *PMOUSE_ATTRIBUTES;
|
} MOUSE_ATTRIBUTES, *PMOUSE_ATTRIBUTES;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __NTDDMOU_H */
|
|
Loading…
Add table
Add a link
Reference in a new issue