Source code of Windows XP (NT5)
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.

220 lines
4.4 KiB

  1. //+----------------------------------------------------------------------------
  2. //
  3. // Copyright (C) 1997, Microsoft Corporation
  4. //
  5. // File: stdsup.hxx
  6. //
  7. // Contents: stdsup.c prototypes, etc
  8. //
  9. //-----------------------------------------------------------------------------
  10. #ifndef _STDSUP_HXX
  11. #define _STDSUP_HXX
  12. DWORD
  13. DfsGetStdVol(
  14. HKEY rKey,
  15. PDFS_VOLUME_LIST pDfsVolList);
  16. DWORD
  17. DfsSetStdVol(
  18. HKEY rKey,
  19. PDFS_VOLUME_LIST pDfsVolList);
  20. DWORD
  21. GetDfsKey(
  22. HKEY rKey,
  23. LPWSTR wszKeyName,
  24. PDFS_VOLUME pVolume);
  25. DWORD
  26. SetDfsKey(
  27. HKEY rKey,
  28. LPWSTR wszKeyName,
  29. PDFS_VOLUME pVolume);
  30. DWORD
  31. ReadSiteTable(PBYTE pData, ULONG cbData);
  32. DWORD
  33. GetIdProps(
  34. HKEY hKey,
  35. PULONG pdwType,
  36. PULONG pdwState,
  37. LPWSTR *ppwszPrefix,
  38. LPWSTR *ppwszShortPath,
  39. GUID *pidVolume,
  40. LPWSTR *ppwszComment,
  41. PULONG pdwTimeout,
  42. FILETIME *pftPrefix,
  43. FILETIME *pftState,
  44. FILETIME *pftComment);
  45. DWORD
  46. SetIdProps(
  47. HKEY hKey,
  48. ULONG pdwType,
  49. ULONG pdwState,
  50. LPWSTR ppwszPrefix,
  51. LPWSTR ppwszShortPath,
  52. GUID idVolume,
  53. LPWSTR ppwszComment,
  54. ULONG pdwTimeout,
  55. FILETIME pftPrefix,
  56. FILETIME pftState,
  57. FILETIME pftComment);
  58. DWORD
  59. GetSvcProps(
  60. HKEY hKey,
  61. PDFS_VOLUME pVol);
  62. DWORD
  63. SetSvcProps(
  64. HKEY hKey,
  65. PDFS_VOLUME pVol);
  66. DWORD
  67. SetVersionProps(
  68. HKEY hKey,
  69. PDFS_VOLUME pVol);
  70. DWORD
  71. SetRecoveryProps(
  72. HKEY hKey,
  73. PDFS_VOLUME pVol);
  74. VOID
  75. DfsCheckVolList(
  76. PDFS_VOLUME_LIST pDfsVolList,
  77. ULONG Level);
  78. DWORD
  79. GetVersionProps(
  80. HKEY hKey,
  81. LPWSTR wszProperty,
  82. PULONG pVersion);
  83. DWORD
  84. GetRecoveryProps(
  85. HKEY hKey,
  86. LPWSTR wszProperty,
  87. PULONG pcbRecovery,
  88. PBYTE *ppRecovery);
  89. DWORD
  90. DfsmQueryValue(
  91. HKEY hkey,
  92. LPWSTR wszValueName,
  93. DWORD dwExpectedType,
  94. DWORD dwExpectedSize,
  95. PBYTE pBuffer,
  96. LPDWORD pcbBuffer);
  97. DWORD
  98. GetBlobByValue(
  99. HKEY hKey,
  100. LPWSTR wszProperty,
  101. PBYTE *ppBuffer,
  102. PULONG pcbBuffer);
  103. DWORD
  104. UnSerializeReplicaList(
  105. ULONG *pReplCount,
  106. ULONG *pAllocatedReplCount,
  107. DFS_REPLICA_INFO **ppReplicaInfo,
  108. FILETIME **ppFtModification,
  109. BYTE **ppBuffer);
  110. DWORD
  111. GetSiteTable(
  112. HKEY hKey,
  113. PDFS_VOLUME_LIST pDfsVolList);
  114. DWORD
  115. EnumKeys(
  116. HKEY hKey,
  117. PULONG pcKeys,
  118. LPWSTR **ppNames);
  119. DWORD
  120. CmdStdUnmap(
  121. LPWSTR pwszServerName);
  122. DWORD
  123. CmdClean(
  124. LPWSTR pwszServerName);
  125. DWORD
  126. GetExitPtInfo(
  127. HKEY rKey,
  128. PDFS_ROOTLOCALVOL *ppRootLocalVol,
  129. PULONG pcVolCount);
  130. VOID
  131. FreeNameList(
  132. LPWSTR *pNames,
  133. ULONG cNames);
  134. DWORD
  135. SetBlobByValue(
  136. HKEY hKey,
  137. LPWSTR wszProperty,
  138. PBYTE pBuffer,
  139. ULONG cbBuffer);
  140. DWORD
  141. SetSiteInfoOnKey(
  142. HKEY rKey,
  143. LPWSTR wszKeyName,
  144. LPWSTR wszPrefixMatch,
  145. ULONG set);
  146. DWORD
  147. DfsSetOnSite(
  148. HKEY rKey,
  149. LPWSTR wszKeyName,
  150. ULONG set);
  151. DWORD
  152. GetExitPts(
  153. HKEY hKeyExPt,
  154. PDFS_ROOTLOCALVOL pRootLocalVol);
  155. #define GIP_DUPLICATE_STRING(dwErr, src, dest) \
  156. if ((src) != NULL) \
  157. (*(dest)) = new WCHAR [ wcslen(src) + 1 ]; \
  158. else \
  159. (*(dest)) = new WCHAR [1]; \
  160. \
  161. if (*(dest) != NULL) \
  162. if ((src) != NULL) \
  163. wcscpy( *(dest), (src) ); \
  164. else \
  165. (*(dest))[0] = UNICODE_NULL; \
  166. else \
  167. dwErr = ERROR_OUTOFMEMORY;
  168. #define GIP_DUPLICATE_PREFIX(dwErr, src, dest) \
  169. (*(dest)) = new WCHAR [ 1 + \
  170. wcslen(wszDfsRootName) + \
  171. ((src) ? wcslen(src) : 0) + \
  172. 1]; \
  173. if ((*(dest)) != NULL) { \
  174. wcscpy( *(dest), UNICODE_PATH_SEP_STR ); \
  175. wcscat( *(dest), wszDfsRootName ); \
  176. if (src) \
  177. wcscat( *(dest), (src) ); \
  178. } else { \
  179. dwErr = ERROR_OUTOFMEMORY; \
  180. }
  181. #define VERSION_PROPS L"Version"
  182. #define ID_PROPS L"ID"
  183. #define SVC_PROPS L"Svc"
  184. #define RECOVERY_PROPS L"Recovery"
  185. #endif _STDSUP_HXX