You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.3 KiB
54 lines
1.3 KiB
#ifndef __VMMID_H__
|
|
#define __VMMID_H__
|
|
|
|
// VMM Items we are interested in, the whole table is just to big to define
|
|
#define __Hook_Device_Service 0x00010090
|
|
#define __Unhook_Device_Service 0x0001011C
|
|
|
|
// Define the VKD service table (not so big, whole thing)
|
|
#define VKD_DEVICE_ID 0x0000D
|
|
enum VKD_SERVICES {
|
|
VKD_dummy = (VKD_DEVICE_ID << 16) - 1,
|
|
__VKD_Get_Version,
|
|
__VKD_Define_Hot_Key,
|
|
__VKD_Remove_Hot_Key,
|
|
__VKD_Local_Enable_Hot_Key,
|
|
__VKD_Local_Disable_Hot_Key,
|
|
__VKD_Reflect_Hot_Key,
|
|
__VKD_Cancel_Hot_Key_State,
|
|
__VKD_Force_Keys,
|
|
__VKD_Get_Kbd_Owner,
|
|
__VKD_Define_Paste_Mode,
|
|
__VKD_Start_Paste,
|
|
__VKD_Cancel_Paste,
|
|
__VKD_Get_Msg_Key,
|
|
__VKD_Peek_Msg_Key,
|
|
__VKD_Flush_Msg_Key_Queue,
|
|
//
|
|
// The following services are new for Windows 4.0.
|
|
//
|
|
__VKD_Enable_Keyboard,
|
|
__VKD_Disable_Keyboard,
|
|
__VKD_Get_Shift_State,
|
|
__VKD_Filter_Keyboard_Input,
|
|
__VKD_Put_Byte,
|
|
__VKD_Set_Shift_State,
|
|
//
|
|
// New for Windows 98 (VKD version 0300h)
|
|
//
|
|
__VKD_Send_Data,
|
|
__VKD_Set_LEDs,
|
|
__VKD_Set_Key_Rate,
|
|
//VKD_Service VKD_Get_Key_Rate
|
|
Num_VKD_Services
|
|
};
|
|
|
|
#define VxDCall(service) \
|
|
__asm _emit 0xcd \
|
|
__asm _emit 0x20 \
|
|
__asm _emit ((service) & 0xff) \
|
|
__asm _emit (((service) >> 8) & 0xff) \
|
|
__asm _emit (((service) >> 16) & 0xff) \
|
|
__asm _emit (((service) >> 24) & 0xff)
|
|
|
|
#endif __VMMID_H__
|