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.

83 lines
2.1 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // File: TSrvVC.h
  4. //
  5. // Contents: TSrvVC public include file
  6. //
  7. // Copyright: (c) 1998, Microsoft Corporation.
  8. // All Rights Reserved.
  9. // Information Contained Herein is Proprietary
  10. // and Confidential.
  11. //
  12. //---------------------------------------------------------------------------
  13. //
  14. // Registry details for VC Addins subkey
  15. //
  16. #define TSRV_VC_KEY REG_CONTROL_TSERVER L"\\" L"Addins"
  17. #define TSRV_VC_ADDIN_SUBKEY_LEN 100
  18. #define TSRV_VC_NAME L"Name"
  19. #define TSRV_VC_TYPE L"Type"
  20. #define TSRV_VC_SHADOW L"RemoteControlPersistent"
  21. // Length of TSRV_VC_ADDIN.Name
  22. #define TSRV_VC_ADDIN_NAMELEN 100
  23. // Values for TSRV_VC_ADDIN.Type
  24. #define TSRV_VC_TYPE_KERNEL_SYSTEM 0
  25. #define TSRV_VC_TYPE_KERNEL_SESSION 1
  26. #define TSRV_VC_TYPE_USER_SYSTEM 2
  27. #define TSRV_VC_TYPE_USER_SESSION 3
  28. //
  29. // TSRV_VC_ADDIN - information about a Virtual Channel addin
  30. //
  31. typedef struct tagTSRV_VC_ADDIN
  32. {
  33. UINT_PTR AddinContext;
  34. DWORD Type;
  35. HANDLE hDevice;
  36. BOOL bShadowPersistent;
  37. TCHAR Name[TSRV_VC_ADDIN_NAMELEN];
  38. } TSRV_VC_ADDIN, * PTSRV_VC_ADDIN;
  39. BOOL
  40. TSrvInitVC(VOID);
  41. VOID
  42. TSrvTermVC(VOID);
  43. VOID
  44. TSrvReleaseVCAddins(PWSX_CONTEXT pWsxContext);
  45. // Values for TSrvVcNotifyVC Event parameter
  46. #define TSRV_VC_SESSION_CONNECT 1
  47. #define TSRV_VC_SESSION_DISCONNECT 2
  48. #define TSRV_VC_SESSION_SHADOW_START 3
  49. #define TSRV_VC_SESSION_SHADOW_END 4
  50. VOID
  51. TSrvNotifyVC(PWSX_CONTEXT pWsxContext, ULONG Event);
  52. VOID
  53. TSrvNotifyVC_0(PWSX_CONTEXT pWsxContext, ULONG Event);
  54. VOID
  55. TSrvNotifyVC_3(PWSX_CONTEXT pWsxContext, ULONG Event);
  56. BOOL
  57. TSrvOpenAndSetEvent(LPCTSTR szEventName, BOOL bPerSessionEvent);
  58. HANDLE
  59. OpenPerSessionEvent(DWORD dwDesiredAccess, BOOL bInheritHandle,
  60. LPCTSTR szEventName);
  61. LPVOID
  62. TSrvAllocVCContext(UINT extraBytes, OUT UINT * numAddins);
  63. LONG
  64. TSrvReadVCAddins(VOID);
  65. VOID
  66. TSrvGotAddinChangedEvent(void);
  67. BOOL
  68. TSrvSetAddinChangeNotification(void);