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.

110 lines
1.2 KiB

  1. /*
  2. * PerSeat.h
  3. *
  4. * Author: BreenH
  5. *
  6. * The Per-Seat licensing policy.
  7. */
  8. #ifndef __LC_PERSEAT_H__
  9. #define __LC_PERSEAT_H__
  10. /*
  11. * Includes
  12. */
  13. #include "policy.h"
  14. /*
  15. * Constants
  16. */
  17. #define LC_POLICY_PS_DEFAULT_LICENSE_SIZE 8192
  18. /*
  19. * Class Definition
  20. */
  21. class CPerSeatPolicy : public CPolicy
  22. {
  23. private:
  24. /*
  25. * Licensing Functions
  26. */
  27. NTSTATUS
  28. MarkLicense(
  29. CSession& Session
  30. );
  31. public:
  32. /*
  33. * Creation Functions
  34. */
  35. CPerSeatPolicy(
  36. );
  37. ~CPerSeatPolicy(
  38. );
  39. /*
  40. * Administrative Functions
  41. */
  42. ULONG
  43. GetFlags(
  44. );
  45. ULONG
  46. GetId(
  47. );
  48. NTSTATUS
  49. GetInformation(
  50. LPLCPOLICYINFOGENERIC lpPolicyInfo
  51. );
  52. /*
  53. * Loading and Activation Functions
  54. */
  55. NTSTATUS
  56. Activate(
  57. BOOL fStartup,
  58. ULONG *pulAlternatePolicy
  59. );
  60. NTSTATUS
  61. Deactivate(
  62. BOOL fShutdown
  63. );
  64. /*
  65. * Licensing Functions
  66. */
  67. NTSTATUS
  68. Connect(
  69. CSession& pSession,
  70. UINT32 &dwClientError
  71. );
  72. NTSTATUS
  73. Logon(
  74. CSession& Session
  75. );
  76. NTSTATUS
  77. Reconnect(
  78. CSession& Session,
  79. CSession& TemporarySession
  80. );
  81. };
  82. #endif