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.

146 lines
3.4 KiB

  1. /*++
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. ssreg.h
  5. Abstract:
  6. Manifests for Registry usage in the server service.
  7. Author:
  8. Chuck Lenzmeier (chuckl) 21-Mar-1992
  9. Revision History:
  10. --*/
  11. #ifndef _SSREG_
  12. #define _SSREG_
  13. //
  14. // Names of server service keys.
  15. //
  16. #define SERVER_REGISTRY_PATH L"LanmanServer"
  17. #define PARAMETERS_REGISTRY_PATH L"LanmanServer\\Parameters"
  18. #define AUTOTUNED_REGISTRY_PATH L"LanmanServer\\AutotunedParameters"
  19. #define SHARES_REGISTRY_PATH L"LanmanServer\\Shares"
  20. #define SHARES_SECURITY_REGISTRY_PATH L"LanmanServer\\Shares\\Security"
  21. #define LINKAGE_REGISTRY_PATH L"LanmanServer\\Linkage"
  22. #define SHARES_DEFAULT_SECURITY_REGISTRY_PATH L"LanmanServer\\DefaultSecurity"
  23. #define BIND_VALUE_NAME L"Bind"
  24. #define SIZE_VALUE_NAME L"Size"
  25. #define DISC_VALUE_NAME L"Disc"
  26. #define COMMENT_VALUE_NAME L"Comment"
  27. #define NULL_SESSION_PIPES_VALUE_NAME L"NullSessionPipes"
  28. #define NULL_SESSION_SHARES_VALUE_NAME L"NullSessionShares"
  29. #define PIPES_NEED_LICENSE_VALUE_NAME L"PipesNeedLicense"
  30. #define ERROR_LOG_IGNORE_VALUE_NAME L"ErrorLogIgnore"
  31. #define OPTIONAL_NAMES_VALUE_NAME L"OptionalNames"
  32. #define SERVICE_DLL_VALUE_NAME L"ServiceDll"
  33. #define NO_REMAP_PIPES_VALUE_NAME L"NoRemapPipes"
  34. #define DISABLE_DOS_CHECKING L"DisableDoS"
  35. #define FULL_PARAMETERS_REGISTRY_PATH L"SYSTEM\\CurrentControlSet\\Services\\" PARAMETERS_REGISTRY_PATH
  36. //
  37. // Names of share "environment variables".
  38. //
  39. #define MAXUSES_VARIABLE_NAME L"MaxUses"
  40. #define PATH_VARIABLE_NAME L"Path"
  41. #define PERMISSIONS_VARIABLE_NAME L"Permissions"
  42. #define REMARK_VARIABLE_NAME L"Remark"
  43. #define TYPE_VARIABLE_NAME L"Type"
  44. #define CSC_VARIABLE_NAME L"CSCFlags"
  45. #define GUID_VARIABLE_NAME L"Guid"
  46. //
  47. // Used to check for Security Descriptor "Upgrade" from NT4 "World" to Win2K "World+Anonymous"
  48. //
  49. #define ANONYMOUS_UPGRADE_NAME L"AnonymousDescriptorsUpgraded"
  50. #define SAVED_ANONYMOUS_RESTRICTION_NAME L"PreviousAnonymousRestriction"
  51. #define SESSION_SD_REGENERATED_NAME L"SessionSecurityDescriptorRegenerated"
  52. #define FULL_SECURITY_REGISTRY_PATH L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\lanmanserver\\DefaultSecurity"
  53. #define ABBREVIATED_SECURITY_REGISTRY_PATH L"LanmanServer\\DefaultSecurity"
  54. //
  55. // Functions exported by registry.c.
  56. //
  57. VOID
  58. SsAddParameterToRegistry (
  59. PFIELD_DESCRIPTOR Field,
  60. PVOID Value
  61. );
  62. VOID
  63. SsAddShareToRegistry (
  64. IN PSHARE_INFO_2 ShareInfo2,
  65. IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL,
  66. IN DWORD CSCState
  67. );
  68. NET_API_STATUS
  69. SsBindToTransports (
  70. VOID
  71. );
  72. NET_API_STATUS
  73. SsCheckRegistry (
  74. VOID
  75. );
  76. NET_API_STATUS
  77. SsEnumerateStickyShares (
  78. IN OUT PSRVSVC_SHARE_ENUM_INFO ShareEnumInfo
  79. );
  80. BOOLEAN
  81. SsGetDefaultSdFromRegistry (
  82. IN PWCH ValueName,
  83. OUT PSECURITY_DESCRIPTOR *FileSD
  84. );
  85. VOID
  86. SsWriteDefaultSdToRegistry (
  87. IN PWCH ValueName,
  88. IN PSECURITY_DESCRIPTOR FileSD
  89. );
  90. NET_API_STATUS
  91. SsLoadConfigurationParameters (
  92. VOID
  93. );
  94. NET_API_STATUS
  95. SsRecreateStickyShares (
  96. VOID
  97. );
  98. NET_API_STATUS
  99. SsRemoveShareFromRegistry (
  100. LPTSTR NetName
  101. );
  102. //
  103. // Functions used by registry.c that are elsewhere but there is no convenient
  104. // place to put the prototype
  105. //
  106. DWORD
  107. ComputeTransportAddressClippedLength(
  108. IN PCHAR TransportAddress,
  109. IN ULONG TransportAddressLength
  110. );
  111. #endif // ndef _SSREG_