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

  1. #ifndef __VMMID_H__
  2. #define __VMMID_H__
  3. // VMM Items we are interested in, the whole table is just to big to define
  4. #define __Hook_Device_Service 0x00010090
  5. #define __Unhook_Device_Service 0x0001011C
  6. // Define the VKD service table (not so big, whole thing)
  7. #define VKD_DEVICE_ID 0x0000D
  8. enum VKD_SERVICES {
  9. VKD_dummy = (VKD_DEVICE_ID << 16) - 1,
  10. __VKD_Get_Version,
  11. __VKD_Define_Hot_Key,
  12. __VKD_Remove_Hot_Key,
  13. __VKD_Local_Enable_Hot_Key,
  14. __VKD_Local_Disable_Hot_Key,
  15. __VKD_Reflect_Hot_Key,
  16. __VKD_Cancel_Hot_Key_State,
  17. __VKD_Force_Keys,
  18. __VKD_Get_Kbd_Owner,
  19. __VKD_Define_Paste_Mode,
  20. __VKD_Start_Paste,
  21. __VKD_Cancel_Paste,
  22. __VKD_Get_Msg_Key,
  23. __VKD_Peek_Msg_Key,
  24. __VKD_Flush_Msg_Key_Queue,
  25. //
  26. // The following services are new for Windows 4.0.
  27. //
  28. __VKD_Enable_Keyboard,
  29. __VKD_Disable_Keyboard,
  30. __VKD_Get_Shift_State,
  31. __VKD_Filter_Keyboard_Input,
  32. __VKD_Put_Byte,
  33. __VKD_Set_Shift_State,
  34. //
  35. // New for Windows 98 (VKD version 0300h)
  36. //
  37. __VKD_Send_Data,
  38. __VKD_Set_LEDs,
  39. __VKD_Set_Key_Rate,
  40. //VKD_Service VKD_Get_Key_Rate
  41. Num_VKD_Services
  42. };
  43. #define VxDCall(service) \
  44. __asm _emit 0xcd \
  45. __asm _emit 0x20 \
  46. __asm _emit ((service) & 0xff) \
  47. __asm _emit (((service) >> 8) & 0xff) \
  48. __asm _emit (((service) >> 16) & 0xff) \
  49. __asm _emit (((service) >> 24) & 0xff)
  50. #endif __VMMID_H__