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.

149 lines
5.4 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // File: TSrvWsx.h
  4. //
  5. // Contents: TSrvWsx private include file
  6. //
  7. // Copyright: (c) 1992 - 1997, Microsoft Corporation.
  8. // All Rights Reserved.
  9. // Information Contained Herein is Proprietary
  10. // and Confidential.
  11. //
  12. // History: 17-JUL-97 BrianTa Created.
  13. //
  14. //---------------------------------------------------------------------------
  15. #ifndef __TSRVWXS_H_
  16. #define __TSRVWXS_H_
  17. //
  18. // Defines
  19. //
  20. #define WSX_CONTEXT_CHECKMARK 0x58575354 // "TSWX"
  21. #ifndef _HYDRA_
  22. #define FILE_DEVICE_ICA 0x0000002e // sdk\inc\devioctl.h
  23. #endif
  24. #if DBG
  25. #define PWSXVALIDATE(_x_,_y_) {_x_ __pwsx = _y_;}
  26. #define ICA_IOCTL_TBL_ITEM(_x_) {_x_, #_x_}
  27. #else // DBG
  28. #define PWSXVALIDATE(_x_,_y_)
  29. #endif // DBG
  30. //
  31. // Typedefs
  32. //
  33. #if DBG
  34. // ICA IOCTL table
  35. typedef struct _TSRV_ICA_IOCTL_ENTRY
  36. {
  37. ULONG IoControlCode;
  38. PCHAR pszMessageText;
  39. } TSRV_ICA_IOCTL_ENTRY, *PTSRV_ICA_IOCTL_ENTRY;
  40. TSRV_ICA_IOCTL_ENTRY IcaIoctlTBL[] = {
  41. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_SET_TRACE), // 0
  42. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_TRACE), // 1
  43. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_SET_SYSTEM_TRACE), // 2
  44. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_SYSTEM_TRACE), // 3
  45. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_UNBIND_VIRTUAL_CHANNEL), // 4
  46. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_PUSH), // 10
  47. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_POP), // 11
  48. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CREATE_ENDPOINT), // 12
  49. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CD_CREATE_ENDPOINT), // 13
  50. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_OPEN_ENDPOINT), // 14
  51. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CLOSE_ENDPOINT), // 15
  52. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_ENABLE_DRIVER), // 16
  53. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONNECTION_WAIT), // 17
  54. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_WAIT_FOR_ICA), // 18
  55. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONNECTION_QUERY), // 19
  56. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONNECTION_SEND), // 20
  57. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONNECTION_REQUEST), // 21
  58. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_PARAMS), // 22
  59. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SET_PARAMS), // 23
  60. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_ENCRYPTION_OFF), // 24
  61. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_ENCRYPTION_PERM), // 25
  62. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CALLBACK_INITIATE), // 26
  63. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_LAST_ERROR), // 27
  64. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_WAIT_FOR_STATUS), // 28
  65. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_STATUS), // 29
  66. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_REGISTER_HOTKEY), // 30
  67. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CANCEL_IO), // 31
  68. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_STATE), // 32
  69. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SET_STATE), // 33
  70. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_LAST_INPUT_TIME), // 34
  71. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_TRACE), // 35
  72. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CALLBACK_COMPLETE), // 36
  73. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CD_CANCEL_IO), // 37
  74. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_CLIENT), // 38
  75. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_MODULE_DATA), // 39
  76. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_REGISTER_BROKEN), // 40
  77. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_ENABLE_IO), // 41
  78. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_DISABLE_IO), // 42
  79. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SET_CONNECTED), // 43
  80. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SET_CLIENT_DATA), // 44
  81. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_BUFFER), // 45
  82. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_DISCONNECT), // 46
  83. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_RECONNECT), // 47
  84. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_CONSOLE_CONNECT), // 48
  85. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_LICENSE_CAPABILITIES), // 69
  86. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_REQUEST_CLIENT_LICENSE), // 70
  87. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_SEND_CLIENT_LICENSE), // 71
  88. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_LICENSE_PROTOCOL_COMPLETE), // 72
  89. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_GET_LICENSE_DATA), // 73
  90. ICA_IOCTL_TBL_ITEM(IOCTL_ICA_STACK_QUERY_CLIENT_EXTENDED), // 77
  91. };
  92. #endif // DBG typedefs
  93. //
  94. // Externs
  95. //
  96. extern ICASRVPROCADDR g_IcaSrvProcAddr;
  97. //
  98. // Prototypes
  99. //
  100. #if DBG
  101. void TSrvDumpIoctlDetails(IN PVOID pvContext,
  102. IN HANDLE hIca,
  103. IN HANDLE hStack,
  104. IN ULONG IoControlCode,
  105. IN PVOID pInBuffer,
  106. IN ULONG InBufferSize,
  107. OUT PVOID pOutBuffer,
  108. IN ULONG OutBufferSize,
  109. OUT PULONG pBytesReturned);
  110. #else
  111. #define TSrvDumpIoctlDetails(_x_, _y_, _z_, _a_, _b_, _c_, _d_, _e_, _f_)
  112. #endif // DBG prototypes
  113. #endif // __TSRVWXS_H_