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.

122 lines
2.9 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // File: TSrvInfo.h
  4. //
  5. // Contents: TSrvInfo public 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 _TSRVINFO_H_
  16. #define _TSRVINFO_H_
  17. #include <TSrvExp.h>
  18. //
  19. // Defines
  20. //
  21. #define TSRV_CONF_PENDING 0
  22. #define TSRV_CONF_CONNECTED 1
  23. #define TSRV_CONF_TERMINATED 2
  24. //
  25. // Typedefs
  26. //
  27. // TSrvInfo object
  28. typedef struct _TSRVINFO
  29. {
  30. #if DBG
  31. DWORD CheckMark; // "TSIN"
  32. #endif
  33. CRITICAL_SECTION cs;
  34. DomainHandle hDomain;
  35. ConnectionHandle hConnection;
  36. HANDLE hIca;
  37. HANDLE hStack;
  38. PUSERDATAINFO pUserDataInfo;
  39. HANDLE hWorkEvent;
  40. LONG RefCount;
  41. BOOLEAN fDisconnect :1;
  42. BOOLEAN fConsoleStack :1;
  43. BYTE fuConfState;
  44. ULONG ulReason;
  45. NTSTATUS ntStatus;
  46. BOOL bSecurityEnabled;
  47. SECINFO SecurityInfo;
  48. } TSRVINFO, *PTSRVINFO;
  49. // Per WinStation context memory
  50. typedef struct _WSX_CONTEXT
  51. {
  52. DWORD CheckMark; // "TSIN"
  53. HANDLE hIca; // Ica handle
  54. HANDLE hStack; // Primary stack
  55. ULONG LogonId;
  56. PTSRVINFO pTSrvInfo; // TSrvinfo ptr
  57. UINT cVCAddins; // number of VC addins
  58. ULONG fAutoClientDrives : 1;
  59. ULONG fAutoClientLpts : 1;
  60. ULONG fForceClientLptDef : 1;
  61. ULONG fDisableCpm : 1;
  62. ULONG fDisableCdm : 1;
  63. ULONG fDisableCcm : 1;
  64. ULONG fDisableLPT : 1;
  65. ULONG fDisableClip : 1;
  66. ULONG fDisableExe : 1;
  67. ULONG fDisableCam : 1;
  68. CRITICAL_SECTION cs;
  69. BOOL fCSInitialized;
  70. // Array of Virtual Channel addin structures (TSRV_VC_ADDIN) follows
  71. } WSX_CONTEXT, *PWSX_CONTEXT;
  72. //
  73. // Prototypes
  74. //
  75. EXTERN_C VOID TSrvReferenceInfo(IN PTSRVINFO pTSrvInfo);
  76. EXTERN_C VOID TSrvDereferenceInfo(IN PTSRVINFO pTSrvInfo);
  77. EXTERN_C BOOL TSrvInitGlobalData(void);
  78. EXTERN_C NTSTATUS TSrvAllocInfo(OUT PTSRVINFO *ppTSrvInfo, HANDLE hIca, HANDLE hStack);
  79. EXTERN_C void TSrvReleaseInfoPoolList(void);
  80. EXTERN_C void TSrvReleaseInfoUsedList(void);
  81. EXTERN_C PTSRVINFO TSrvGetInfoFromStack(IN HANDLE hStack);
  82. EXTERN_C PTSRVINFO TSrvGetInfoFromID(GCCConferenceID conference_id);
  83. #if DBG
  84. void TSrvInfoValidate(PTSRVINFO pTSrvInfo);
  85. #else
  86. #define TSrvInfoValidate(x)
  87. #endif
  88. #endif // _TSRVINFO_H_