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.

98 lines
3.5 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1993-1999.
  5. //
  6. // File: ReplAPI.h
  7. //
  8. // Contents: Public Replication APIs and Structures.
  9. //
  10. // History: 15-jul-93 PeterCo created
  11. //
  12. // Notes:
  13. //
  14. //--------------------------------------------------------------------------
  15. #ifndef _REPLAPI_H_
  16. #define _REPLAPI_H_
  17. #if _MSC_VER > 1000
  18. #pragma once
  19. #endif
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23. EXPORTDEF STDAPI ReplCreateObject(
  24. const WCHAR *pwszMachine,
  25. const WCHAR *pwszOraRelativeName,
  26. const CLSID& clsid,
  27. REFIID itf,
  28. PSECURITY_ATTRIBUTES psa,
  29. void** ppitf);
  30. EXPORTDEF STDAPI ReplDeleteObject(
  31. const WCHAR *pwszMachine,
  32. const WCHAR *pwszOraRelativeName);
  33. #define REPL_REPLICATE_NONE (0x00)
  34. #define REPL_REPLICATE_ASYNC (0x01) // replicate asynchronously
  35. #define REPL_REPLICATE_META_DATA_ONLY (0x02) // replicate meta data only
  36. // until all urgent changes
  37. // have been applied.
  38. #define REPL_REPLICATE_ALL_FLAGS ( REPL_REPLICATE_ASYNC | \
  39. REPL_REPLICATE_META_DATA_ONLY )
  40. EXPORTDEF STDAPI ReplReplicate(
  41. const WCHAR *pwszMachine,
  42. const WCHAR *pwszOraRelativeReplicaConnection,
  43. DWORD options);
  44. EXPORTDEF STDAPI ReplReplicateSingleObject(
  45. const WCHAR *pDfsPathOraMachine,
  46. const WCHAR *pDfsPathSrcObj,
  47. const WCHAR *pDfsPathSrcMachine,
  48. const WCHAR *pDfsPathDstObject,
  49. const WCHAR *pDfsPathDstMachine,
  50. BOOL bCreateDstIfRequired);
  51. EXPORTDEF STDAPI ReplMetaDataReplicate(
  52. const WCHAR *pwszMachine, // ORA to pull to
  53. const WCHAR *pwszSource, // ORA to pull from
  54. const WCHAR *pwszOraRelativeReplicaSet);
  55. #define REPL_URGENT_NONE (0x00) // no flags
  56. #define REPL_URGENT_NO_HYSTERESIS (0x01) // exclude from hysteresis calc.
  57. #define REPL_URGENT_TRIGGER_IMMEDIATE (0x02) // force immediate urgent cycle
  58. #define REPL_URGENT_ALL_FLAGS ( REPL_URGENT_NONE | \
  59. REPL_URGENT_NO_HYSTERESIS | \
  60. REPL_URGENT_TRIGGER_IMMEDIATE )
  61. EXPORTDEF STDAPI ReplUrgentChangeNotify(
  62. REFCLSID clsid, // should match CLSID on root IStg
  63. DWORD flags, // ORing of URGENT_NOTIFY_*
  64. PVOID reserved, // must be NULL
  65. IStorage *pRootStorage); // must have STGM_READWRITE access
  66. EXPORTDEF STDAPI ReplValidatePath(
  67. const WCHAR *pDfsPathMachine, // in
  68. const WCHAR *pLocalWin32Path, // in
  69. WCHAR **ppDfsPath, // out - Dfs path to stuff into replica
  70. // object's "root" field
  71. HRESULT *phr); // out - S_OK indicates path is valid,
  72. // FAILED(*phr) identifies why if invalid
  73. EXPORTDEF STDAPI ReplPropagateMetaData(
  74. const WCHAR *pDfsPathMachine, // in - which ORA is to do the propagating
  75. // i.e. machine where changes were made
  76. const WCHAR *pwszRSet); // in - name of replica set where changes
  77. // were made - NULL means check all RSets
  78. #ifdef __cplusplus
  79. }
  80. #endif
  81. #endif // _REPLAPI_H_