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.

196 lines
8.1 KiB

  1. /****************************************************************************/
  2. // as_conf.hpp
  3. //
  4. // Definition of RDP ShareClass. Note ShareClass is a huge amalgam of the
  5. // public and private portions of each "component" (IM, SC, etc.).
  6. //
  7. // COPYRIGHT(C) Microsoft 1996-1999
  8. /****************************************************************************/
  9. #ifndef _H_AS_CONF
  10. #define _H_AS_CONF
  11. /****************************************************************************/
  12. /* All the headers we need for the class definition (which is pretty much */
  13. /* all the headers...) */
  14. /****************************************************************************/
  15. #include <adcs.h>
  16. /****************************************************************************/
  17. /* Make sure we use a standard trace group if the module has not defined a */
  18. /* custom one. */
  19. /****************************************************************************/
  20. #ifndef TRC_GROUP
  21. #define TRC_GROUP TRC_GROUP_DCSHARE
  22. #endif
  23. /****************************************************************************/
  24. /* Define the pWD for use by tracing, if the module has not alreasy defined */
  25. /* one. */
  26. /****************************************************************************/
  27. #ifndef pTRCWd
  28. #define pTRCWd m_pTSWd
  29. #endif
  30. extern "C"
  31. {
  32. #include <atrcapi.h>
  33. }
  34. #include <aprot.h>
  35. /****************************************************************************/
  36. /* References to the WD struct. */
  37. /****************************************************************************/
  38. #include <nwdwapi.h>
  39. /****************************************************************************/
  40. /* WD IOCtls */
  41. /****************************************************************************/
  42. #include <nwdwioct.h>
  43. /****************************************************************************/
  44. /* Include all API and INT headers which do not contain references to the */
  45. /* ShareClass. Try to keep as many headers as possible here, otherwise you */
  46. /* hit the Microsoft C++ compiler error "fatal error C1067: compiler limit */
  47. /* : debug information module size exceeded.", even on retail builds. */
  48. /* */
  49. /* If you hit error "fatal error C2644: basis class 'class' for pointer to */
  50. /* member has not been defined", you need to move the offending header */
  51. /* which includes a reference to ShareClass into the class definition below.*/
  52. /****************************************************************************/
  53. #include <abcapi.h>
  54. #include <abaapi.h>
  55. #include <acaapi.h>
  56. #include <aimapi.h>
  57. #include <aoaapi.h>
  58. #include <aoeapi.h>
  59. #include <apmapi.h>
  60. #include <aschapi.h>
  61. #include <asdgapi.h>
  62. #include <assiapi.h>
  63. #include <aupapi.h>
  64. #include <ausrapi.h>
  65. #include <nshmapi.h>
  66. /****************************************************************************/
  67. /* Class: ShareClass */
  68. /* */
  69. /* Description: RDP WD-only per-conference Share Class */
  70. /****************************************************************************/
  71. class ShareClass
  72. {
  73. public:
  74. /************************************************************************/
  75. /* Constructor */
  76. /************************************************************************/
  77. ShareClass(PTSHARE_WD pTSWd,
  78. unsigned desktopHeight,
  79. unsigned desktopWidth,
  80. unsigned desktopBpp,
  81. PVOID pSmInfo): m_pTSWd (pTSWd),
  82. m_desktopHeight(desktopHeight),
  83. m_desktopWidth (desktopWidth),
  84. m_desktopBpp (desktopBpp),
  85. m_pSmInfo (pSmInfo)
  86. {};
  87. /************************************************************************/
  88. /* Destructor not required. */
  89. /************************************************************************/
  90. /************************************************************************/
  91. /* Member variables that are used for communication with other WD */
  92. /* sub-components (WDW, SM, NM) or the WD. */
  93. /************************************************************************/
  94. /************************************************************************/
  95. /* Pointer to the WD data structure */
  96. /************************************************************************/
  97. PTSHARE_WD m_pTSWd;
  98. /************************************************************************/
  99. /* SM handle */
  100. /************************************************************************/
  101. PVOID m_pSmInfo;
  102. /************************************************************************/
  103. /* Display characteristics */
  104. /************************************************************************/
  105. unsigned m_desktopHeight;
  106. unsigned m_desktopWidth;
  107. unsigned m_desktopBpp;
  108. /************************************************************************/
  109. /* Pointer to the shared memory */
  110. /************************************************************************/
  111. PSHM_SHARED_MEMORY m_pShm;
  112. /****************************************************************************/
  113. /* Include the API and INT headers which do contain references to the */
  114. /* ShareClass (and those headers which end up including these!). Try to */
  115. /* keep this list as small as possible to avoid hitting the compiler error */
  116. /* C1067. */
  117. /****************************************************************************/
  118. #include <ascapi.h>
  119. #include <ascint.h>
  120. #include <adcsapi.h>
  121. #include <acpcapi.h>
  122. #include <acmapi.h>
  123. #include <asbcapi.h>
  124. #include <achapi.h>
  125. /************************************************************************/
  126. /* Other public member functions. These are the API functions which */
  127. /* are accessed from outside the class. */
  128. /************************************************************************/
  129. #include <adcsafn.h>
  130. #include <ascafn.h>
  131. #include <aupafn.h>
  132. #include <aschafn.h>
  133. #include <asbcafn.h>
  134. #include <aimafn.h>
  135. private:
  136. /************************************************************************/
  137. /* Private member functions. */
  138. /* These are the INT functions of all components, plus the API */
  139. /* functions of components that are not accessed from outside the class.*/
  140. /************************************************************************/
  141. #include <abaafn.h>
  142. #include <abcafn.h>
  143. #include <acaafn.h>
  144. #include <acpcafn.h>
  145. #include <acmafn.h>
  146. #include <aoaafn.h>
  147. #include <aoacom.h>
  148. #include <aoeafn.h>
  149. #include <apmafn.h>
  150. #include <asdgafn.h>
  151. #include <assiafn.h>
  152. #include <ausrafn.h>
  153. #include <ascifn.h>
  154. /************************************************************************/
  155. /* Private member data items - which is all data. */
  156. /************************************************************************/
  157. #ifdef DLL_TSHRKDX
  158. public: /* need all class data to be public for kd extensions */
  159. #else
  160. private:
  161. #endif
  162. #define DC_DEFINE_DATA
  163. #include <adata.c>
  164. #undef DC_DEFINE_DATA
  165. };
  166. #endif