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.

138 lines
1.9 KiB

  1. /*
  2. * LSCore.h
  3. *
  4. * Author: BreenH
  5. *
  6. * API for the licensing core.
  7. */
  8. #ifndef __LC_LSCORE_H__
  9. #define __LC_LSCORE_H__
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. /*
  14. * Typedefs
  15. */
  16. typedef enum {
  17. LC_INIT_LIMITED = 0,
  18. LC_INIT_ALL
  19. } LCINITMODE, *LPLCINITMODE;
  20. typedef struct {
  21. LPWSTR pUserName;
  22. LPWSTR pDomain;
  23. LPWSTR pPassword;
  24. } LCCREDENTIALS, *LPLCCREDENTIALS;
  25. /*
  26. * Initialization Function Prototypes
  27. */
  28. NTSTATUS
  29. LCInitialize(
  30. LCINITMODE lcInitMode,
  31. BOOL fAppCompat
  32. );
  33. VOID
  34. LCShutdown(
  35. );
  36. /*
  37. * Policy Activation Function Prototypes
  38. */
  39. NTSTATUS
  40. LCSetPolicy(
  41. ULONG ulPolicyId,
  42. PNTSTATUS pNewPolicyStatus
  43. );
  44. /*
  45. * Administrative Function Prototypes
  46. */
  47. VOID
  48. LCAssignPolicy(
  49. PWINSTATION pWinStation
  50. );
  51. NTSTATUS
  52. LCCreateContext(
  53. PWINSTATION pWinStation
  54. );
  55. VOID
  56. LCDestroyContext(
  57. PWINSTATION pWinStation
  58. );
  59. NTSTATUS
  60. LCGetAvailablePolicyIds(
  61. PULONG *ppulPolicyIds,
  62. PULONG pcPolicies
  63. );
  64. ULONG
  65. LCGetPolicy(
  66. VOID
  67. );
  68. NTSTATUS
  69. LCGetPolicyInformation(
  70. ULONG ulPolicyId,
  71. LPLCPOLICYINFOGENERIC lpPolicyInfo
  72. );
  73. /*
  74. * Licensing Event Function Prototypes
  75. */
  76. NTSTATUS
  77. LCProcessConnectionProtocol(
  78. PWINSTATION pWinStation
  79. );
  80. NTSTATUS
  81. LCProcessConnectionPostLogon(
  82. PWINSTATION pWinStation
  83. );
  84. NTSTATUS
  85. LCProcessConnectionDisconnect(
  86. PWINSTATION pWinStation
  87. );
  88. NTSTATUS
  89. LCProcessConnectionReconnect(
  90. PWINSTATION pWinStation,
  91. PWINSTATION pTemporaryWinStation
  92. );
  93. NTSTATUS
  94. LCProcessConnectionLogoff(
  95. PWINSTATION pWinStation
  96. );
  97. NTSTATUS
  98. LCProvideAutoLogonCredentials(
  99. PWINSTATION pWinStation,
  100. LPBOOL lpfUseCredentials,
  101. LPLCCREDENTIALS lpCredentials
  102. );
  103. NTSTATUS
  104. LCDeactivateCurrentPolicy(
  105. );
  106. #ifdef __cplusplus
  107. } // extern "C"
  108. #endif
  109. #endif