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.

252 lines
6.1 KiB

  1. //+----------------------------------------------------------------------------
  2. //
  3. // Copyright (C) 2000, Microsoft Corporation
  4. //
  5. // File: DfsEnterpriseStore.hxx
  6. //
  7. // Contents: the Enterprise DFS Store class, this contains the
  8. // old AD blob store specific functionality.
  9. //
  10. // Classes: DfsEnterpriseStore.
  11. //
  12. // History: Dec. 8 2000, Author: udayh
  13. //
  14. //-----------------------------------------------------------------------------
  15. #ifndef __DFS_ENTERPRISE_STORE__
  16. #define __DFS_ENTERPRISE_STORE__
  17. #include "DfsStore.hxx"
  18. //
  19. // dfsdev: get rid of this pragma.
  20. //
  21. #pragma warning(disable:4100) // Unreferenced local variable
  22. //+----------------------------------------------------------------------------
  23. //
  24. // Class: DfsEnterpriseStore
  25. //
  26. // Synopsis: This class inherits the basic DfsStore, and extends it
  27. // to include the new Enterprise store funtionality.
  28. //
  29. //-----------------------------------------------------------------------------
  30. class DfsEnterpriseStore: public DfsStore {
  31. public:
  32. DfsEnterpriseStore(DFSSTATUS *pStatus) :
  33. DfsStore(L"Enterprise", DFS_OBJECT_TYPE_ENTERPRISE_STORE, pStatus)
  34. {
  35. NOTHING;
  36. }
  37. ~DfsEnterpriseStore()
  38. {
  39. NOTHING;
  40. }
  41. DFSSTATUS
  42. StoreRecognizer( LPWSTR Name )
  43. {
  44. UNREFERENCED_PARAMETER(Name);
  45. return ERROR_NOT_FOUND;
  46. }
  47. DFSSTATUS
  48. RemoveChild(
  49. DFS_METADATA_HANDLE DfsHandle,
  50. LPWSTR ChildName )
  51. {
  52. return ERROR_NOT_SUPPORTED;
  53. }
  54. DFSSTATUS
  55. EnumerateApiLinks(
  56. DFS_METADATA_HANDLE DfsHandle,
  57. PUNICODE_STRING pRootName,
  58. DWORD Level,
  59. LPBYTE pBuffer,
  60. LONG BufferSize,
  61. LPDWORD pEntriesToRead,
  62. LPDWORD pResumeHandle,
  63. PLONG pNextSizeRequired )
  64. {
  65. return ERROR_NOT_SUPPORTED;
  66. }
  67. DFSSTATUS
  68. GenerateLinkMetadataName (LPWSTR *pLinkMetadataName) {
  69. return ERROR_NOT_SUPPORTED;
  70. }
  71. VOID
  72. ReleaseLinkMetadataName(LPWSTR *pLinkMetadataName) {
  73. return;
  74. }
  75. DFSSTATUS
  76. CreateNewRootFolder (
  77. LPWSTR MachineName,
  78. LPWSTR RootRegKeyName,
  79. PUNICODE_STRING pLogicalShare,
  80. PUNICODE_STRING pPhysicalShare,
  81. DfsRootFolder **pRoot )
  82. {
  83. return ERROR_NOT_SUPPORTED;
  84. }
  85. DFSSTATUS
  86. GetMetadataNameBlob(
  87. DFS_METADATA_HANDLE RootHandle,
  88. LPWSTR MetadataName,
  89. PVOID *ppData,
  90. PULONG pDataSize,
  91. PFILETIME pLastModifiedTime )
  92. {
  93. return ERROR_NOT_SUPPORTED;
  94. }
  95. DFSSTATUS
  96. GetMetadataReplicaBlob(
  97. DFS_METADATA_HANDLE RootHandle,
  98. LPWSTR MetadataName,
  99. PVOID *ppData,
  100. PULONG pDataSize,
  101. PFILETIME pLastModifiedTime )
  102. {
  103. return ERROR_NOT_SUPPORTED;
  104. }
  105. DFSSTATUS
  106. SetMetadataNameBlob(
  107. DFS_METADATA_HANDLE RootHandle,
  108. LPWSTR MetadataName,
  109. PVOID pData,
  110. ULONG DataSize )
  111. {
  112. return ERROR_NOT_SUPPORTED;
  113. }
  114. DFSSTATUS
  115. SetMetadataReplicaBlob(
  116. DFS_METADATA_HANDLE RootHandle,
  117. LPWSTR MetadataName,
  118. PVOID pData,
  119. ULONG DataSize )
  120. {
  121. return ERROR_NOT_SUPPORTED;
  122. }
  123. DFSSTATUS
  124. GenerateMetadataLogicalName(
  125. PUNICODE_STRING pRoot,
  126. PUNICODE_STRING pInput,
  127. PUNICODE_STRING pOutput )
  128. {
  129. return ERROR_NOT_SUPPORTED;
  130. }
  131. VOID
  132. ReleaseMetadataLogicalName(
  133. PUNICODE_STRING pName )
  134. {
  135. return NOTHING;
  136. }
  137. //
  138. DFSSTATUS
  139. PackGetNameInformation(
  140. IN PDFS_NAME_INFORMATION pDfsNameInfo,
  141. IN OUT PVOID *ppBuffer,
  142. IN OUT PULONG pSizeRemaining)
  143. {
  144. return ERROR_NOT_SUPPORTED;
  145. }
  146. //
  147. // Function UnpackNameInformation: Takes the binary blob in ppBuffer
  148. // and unravels it to return the filled in DfsNameInfo.
  149. //
  150. DFSSTATUS
  151. PackSetNameInformation(
  152. IN PDFS_NAME_INFORMATION pDfsNameInfo,
  153. IN OUT PVOID *ppBuffer,
  154. IN OUT PULONG pSizeRemaining)
  155. {
  156. return ERROR_NOT_SUPPORTED;
  157. }
  158. //
  159. // Function UnpackNameInformation: Takes the binary blob in ppBuffer
  160. // and unravels it to return the filled in DfsNameInfo.
  161. //
  162. ULONG
  163. PackSizeNameInformation(
  164. IN PDFS_NAME_INFORMATION pDfsNameInfo )
  165. {
  166. return 0;
  167. }
  168. DFSSTATUS
  169. GenerateApiLogicalPath (
  170. IN PUNICODE_STRING pRootName,
  171. IN PUNICODE_STRING pMetadataPrefix,
  172. IN PUNICODE_STRING pApiLogicalName )
  173. {
  174. return ERROR_NOT_SUPPORTED;
  175. }
  176. VOID
  177. ReleaseApiLogicalPath (
  178. PUNICODE_STRING pName )
  179. {
  180. return NOTHING;
  181. }
  182. DFSSTATUS
  183. AddChild(
  184. DFS_METADATA_HANDLE DfsHandle,
  185. IN PDFS_NAME_INFORMATION pNameInfo,
  186. IN PDFS_REPLICA_LIST_INFORMATION pReplicaListInfo,
  187. IN PUNICODE_STRING pMetadataName )
  188. {
  189. return ERROR_NOT_SUPPORTED;
  190. }
  191. static
  192. DFSSTATUS
  193. CleanRegEntry(
  194. LPWSTR MachineName,
  195. LPWSTR LogicalShare )
  196. {
  197. return ERROR_NOT_FOUND;
  198. UNREFERENCED_PARAMETER(MachineName);
  199. UNREFERENCED_PARAMETER(LogicalShare);
  200. }
  201. };
  202. #endif // __DFS_ENTERPRISE_STORE__