Leaked source code of windows server 2003
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

#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__