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.

223 lines
6.1 KiB

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. ///////////////////////////////////////////////////////////////////////////////
  6. // Imports
  7. //
  8. import "EventSys.idl";
  9. import "vss.idl";
  10. ///////////////////////////////////////////////////////////////////////////////
  11. // Forward declarations
  12. //
  13. interface IVssWriter;
  14. interface IVssWriterCallback;
  15. ///////////////////////////////////////////////////////////////////////////////
  16. // Declarations
  17. //
  18. [
  19. object,
  20. uuid(F2B41165-A791-4c1f-9820-8BE45C784E32),
  21. helpstring("IVssWriter interface"),
  22. oleautomation,
  23. pointer_default(unique)
  24. ]
  25. interface IVssWriter : IUnknown
  26. {
  27. [helpstring("method RequestWriterInfo")]
  28. HRESULT RequestWriterInfo(
  29. [in] BSTR bstrSnapshotSetId,
  30. [in] BOOL bWriterMetadata,
  31. [in] BOOL bWriterState,
  32. [in] IDispatch* pWriterCallback
  33. );
  34. [helpstring("method PrepareForBackup")]
  35. HRESULT PrepareForBackup(
  36. [in] BSTR bstrSnapshotSetId,
  37. [in] IDispatch* pWriterCallback
  38. );
  39. [helpstring("method PrepareForSnapshot")]
  40. HRESULT PrepareForSnapshot(
  41. [in] BSTR bstrSnapshotSetId,
  42. [in] BSTR VolumeNamesList
  43. );
  44. [helpstring("method Freeze")]
  45. HRESULT Freeze(
  46. [in] BSTR bstrSnapshotSetId,
  47. [in] INT nApplicationLevel
  48. );
  49. [helpstring("method Thaw")]
  50. HRESULT Thaw(
  51. [in] BSTR bstrSnapshotSetId
  52. );
  53. [helpstring("method PostSnapshot")]
  54. HRESULT PostSnapshot(
  55. [in] BSTR bstrSnapshotSetId,
  56. [in] IDispatch *pWriterCallback,
  57. [in] BSTR SnapshotDevicesList
  58. );
  59. [helpstring("method BackupComplete")]
  60. HRESULT BackupComplete(
  61. [in] BSTR bstrSnapshotSetId,
  62. [in] IDispatch* pWriterCallback
  63. );
  64. [helpstring("method BackupShutdown")]
  65. HRESULT BackupShutdown(
  66. [in] BSTR bstrSnapshotSetId
  67. );
  68. [helpstring("method Abort")]
  69. HRESULT Abort(
  70. [in] BSTR bstrSnapshotSetId
  71. );
  72. [helpstring("method PreRestore")]
  73. HRESULT PreRestore(
  74. [in] IDispatch* pWriterCallback
  75. );
  76. [helpstring("method PostRestore")]
  77. HRESULT PostRestore(
  78. [in] IDispatch* pWriterCallback
  79. );
  80. };
  81. [
  82. object,
  83. dual,
  84. uuid(DDAC9818-DD57-4279-82D5-A380A516EF36),
  85. helpstring("IVssWriterCallback interface"),
  86. pointer_default(unique)
  87. ]
  88. interface IVssWriterCallback : IDispatch
  89. {
  90. [helpstring("method ExposeWriterMetadata")]
  91. HRESULT ExposeWriterMetadata(
  92. [in] BSTR WriterInstanceId,
  93. [in] BSTR WriterClassId,
  94. [in] BSTR bstrWriterName,
  95. [in] BSTR strWriterXmlMetadata
  96. );
  97. [helpstring("method GetContent")]
  98. HRESULT GetContent(
  99. [in] BSTR WriterInstanceId,
  100. [out] BSTR* pbstrXMLDocContent
  101. );
  102. [helpstring("method SetContent")]
  103. HRESULT SetContent(
  104. [in] BSTR WriterInstanceId,
  105. [in] BSTR bstrXMLDocContent
  106. );
  107. [helpstring("method GetBackupState")]
  108. HRESULT GetBackupState(
  109. [out] BOOL *pbBootableSystemStateBackedUp,
  110. [out] BOOL *pbAreComponentsSelected,
  111. [out] VSS_BACKUP_TYPE *pBackupType,
  112. [out] BOOL *pbPartialFileSupport,
  113. [out] LONG *plContext
  114. );
  115. [helpstring("method GetRestoreState")]
  116. HRESULT GetRestoreState(
  117. [out] VSS_RESTORE_TYPE* pRestoreType
  118. );
  119. [helpstring("method ExposeCurrentState")]
  120. HRESULT ExposeCurrentState(
  121. [in] BSTR WriterInstanceId,
  122. [in] VSS_WRITER_STATE nCurrentState,
  123. [in] HRESULT hrWriterFailure
  124. );
  125. };
  126. [
  127. object,
  128. dual,
  129. uuid(52946A2D-A7CD-4c1f-82BA-22F0EA17EC4E),
  130. helpstring("IVssCoordinatorCallback interface"),
  131. pointer_default(unique)
  132. ]
  133. interface IVssCoordinatorCallback : IUnknown
  134. {
  135. [helpstring("method CoordGetContent")]
  136. HRESULT CoordGetContent(
  137. [in] BSTR WriterInstanceId,
  138. [in] ULONG cbSid,
  139. [in, unique, size_is(cbSid)] BYTE * m_rgbSid,
  140. [out] BSTR* pbstrXMLDocContent
  141. );
  142. [helpstring("method CoordSetContent")]
  143. HRESULT CoordSetContent(
  144. [in] BSTR WriterInstanceId,
  145. [in] ULONG cbSid,
  146. [in, unique, size_is(cbSid)] BYTE * m_rgbSid,
  147. [in] BSTR bstrXMLDocContent
  148. );
  149. [helpstring("method CoordGetBackupState")]
  150. HRESULT CoordGetBackupState(
  151. [out] BOOL *pbBootableSystemStateBackedUp,
  152. [out] BOOL *pbAreComponentsSelected,
  153. [out] VSS_BACKUP_TYPE *pBackupType,
  154. [out] BOOL *pbPartialFileSupport,
  155. [out] LONG *plContext
  156. );
  157. [helpstring("method CoordGetRestoreState")]
  158. HRESULT CoordGetRestoreState(
  159. [out] VSS_RESTORE_TYPE* pRestoreType
  160. );
  161. };
  162. ////////////////////////////////////////////////////////////////////////////////
  163. // VssEvent Type Library
  164. [
  165. uuid(3DE641EF-0556-4d4a-98D5-7DBD8AD5D70F),
  166. version(1.0),
  167. helpstring("VssEvent 1.0 Type Library")
  168. ]
  169. library VssEventLib
  170. {
  171. importlib("stdole2.tlb");
  172. [
  173. uuid(FAF53CC4-BD73-4e36-83F1-2B23F46E513E),
  174. helpstring("VssEvent Class")
  175. ]
  176. coclass VssEvent
  177. {
  178. interface IVssWriter;
  179. };
  180. };