Source code of Windows XP (NT5)
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.

125 lines
6.3 KiB

  1. /**INC+**********************************************************************/
  2. /* Header: tschannl.h */
  3. /* */
  4. /* Purpose: Server Channel API file */
  5. /* */
  6. /* Copyright(C) Microsoft Corporation 1997 */
  7. /* */
  8. /****************************************************************************/
  9. /** Changes:
  10. * $Log$
  11. **/
  12. /**INC-**********************************************************************/
  13. /****************************************************************************/
  14. /* Include common channel protocol definitions */
  15. /****************************************************************************/
  16. #include <pchannel.h>
  17. /****************************************************************************/
  18. /* Structure: CHANNEL_CONNECT_DEF */
  19. /* */
  20. /* Description: Definition of a channel for CHANNEL_CONNECT_IN */
  21. /****************************************************************************/
  22. typedef struct tagCHANNEL_CONNECT_DEF
  23. {
  24. char name[CHANNEL_NAME_LEN + 1];
  25. ULONG ID;
  26. } CHANNEL_CONNECT_DEF, * PCHANNEL_CONNECT_DEF;
  27. /****************************************************************************/
  28. /* Structure: CHANNEL_IOCTL_IN */
  29. /* */
  30. /* Description: Common channel inbound IOCTL header */
  31. /****************************************************************************/
  32. typedef struct tagCHANNEL_IOCTL_IN
  33. {
  34. UINT sessionID;
  35. HANDLE IcaHandle;
  36. UINT_PTR contextData;
  37. } CHANNEL_IOCTL_IN, * PCHANNEL_IOCTL_IN;
  38. /****************************************************************************/
  39. /* Structure: CHANNEL_IOCTL_OUT */
  40. /* */
  41. /* Description: Common channel outbound IOCTL header */
  42. /****************************************************************************/
  43. typedef struct tagCHANNEL_IOCTL_OUT
  44. {
  45. UINT_PTR contextData;
  46. } CHANNEL_IOCTL_OUT, * PCHANNEL_IOCTL_OUT;
  47. /****************************************************************************/
  48. /* IOCTL_CHANNEL_CONNECT */
  49. /* */
  50. /* - data in: CHANNEL_CONNECT_IN */
  51. /* */
  52. /* - data out: CHANNEL_CONNECT_OUT */
  53. /****************************************************************************/
  54. #define IOCTL_CHANNEL_CONNECT \
  55. CTL_CODE(FILE_DEVICE_TERMSRV, 0xA00, METHOD_NEITHER, FILE_WRITE_ACCESS)
  56. /****************************************************************************/
  57. /* Structure: CHANNEL_CONNECT_IN */
  58. /* */
  59. /* Description: Data sent to driver on IOCTL_CHANNEL_CONNECT */
  60. /****************************************************************************/
  61. typedef struct tagCHANNEL_CONNECT_IN
  62. {
  63. CHANNEL_IOCTL_IN hdr;
  64. UINT channelCount;
  65. ULONG fAutoClientDrives : 1;
  66. ULONG fAutoClientLpts : 1;
  67. ULONG fForceClientLptDef : 1;
  68. ULONG fDisableCpm : 1;
  69. ULONG fDisableCdm : 1;
  70. ULONG fDisableCcm : 1;
  71. ULONG fDisableLPT : 1;
  72. ULONG fDisableClip : 1;
  73. ULONG fDisableExe : 1;
  74. ULONG fDisableCam : 1;
  75. ULONG fDisableSCard : 1;
  76. /* <channelCount> repetitions of CHANNEL_CONNECT_DEF follow */
  77. } CHANNEL_CONNECT_IN, * PCHANNEL_CONNECT_IN;
  78. /****************************************************************************/
  79. /* Structure: CHANNEL_CONNECT_OUT */
  80. /* */
  81. /* Description: Data returned by driver on IOCTL_CHANNEL_CONNECT */
  82. /****************************************************************************/
  83. typedef struct tagCHANNEL_CONNECT_OUT
  84. {
  85. CHANNEL_IOCTL_OUT hdr;
  86. } CHANNEL_CONNECT_OUT, *PCHANNEL_CONNECT_OUT;
  87. /****************************************************************************/
  88. /* IOCTL_CHANNEL_DISCONNECT */
  89. /* */
  90. /* - data in: CHANNEL_DISCONNECT_IN */
  91. /* */
  92. /* - data out: CHANNEL_DISCONNECT_OUT */
  93. /****************************************************************************/
  94. #define IOCTL_CHANNEL_DISCONNECT \
  95. CTL_CODE(FILE_DEVICE_TERMSRV, 0xA01, METHOD_NEITHER, FILE_WRITE_ACCESS)
  96. /****************************************************************************/
  97. /* Structure: CHANNEL_DISCONNECT_IN */
  98. /* */
  99. /* Description: Data sent to driver on IOCTL_CHANNEL_DISCONNECT */
  100. /****************************************************************************/
  101. typedef struct tagCHANNEL_DISCONNECT_IN
  102. {
  103. CHANNEL_IOCTL_IN hdr;
  104. } CHANNEL_DISCONNECT_IN, * PCHANNEL_DISCONNECT_IN;
  105. /****************************************************************************/
  106. /* Structure: CHANNEL_DISCONNECT_OUT */
  107. /* */
  108. /* Description: Data returned by driver on IOCTL_CHANNEL_DISCONNECT */
  109. /****************************************************************************/
  110. typedef struct tagCHANNEL_DISCONNECT_OUT
  111. {
  112. CHANNEL_IOCTL_OUT hdr;
  113. } CHANNEL_DISCONNECT_OUT, *PCHANNEL_DISCONNECT_OUT;