vswriter.idl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. /**
  7. * C++ interfaces, which are not COM interface, are declared with
  8. * uuid(00000000-0000-0000-0000-000000000000) to make widl happy
  9. */
  10. import "oaidl.idl";
  11. import "ocidl.idl";
  12. import "vss.idl";
  13. cpp_quote("#include <winapifamily.h>")
  14. cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
  15. cpp_quote("#include \"vsserror.h\" ")
  16. typedef enum VSS_USAGE_TYPE {
  17. VSS_UT_UNDEFINED = 0,
  18. VSS_UT_BOOTABLESYSTEMSTATE,
  19. VSS_UT_SYSTEMSERVICE,
  20. VSS_UT_USERDATA,
  21. VSS_UT_OTHER,
  22. } VSS_USAGE_TYPE;
  23. typedef enum VSS_SOURCE_TYPE {
  24. VSS_ST_UNDEFINED = 0,
  25. VSS_ST_TRANSACTEDDB,
  26. VSS_ST_NONTRANSACTEDDB,
  27. VSS_ST_OTHER,
  28. } VSS_SOURCE_TYPE;
  29. typedef enum VSS_RESTOREMETHOD_ENUM {
  30. VSS_RME_UNDEFINED = 0,
  31. VSS_RME_RESTORE_IF_NOT_THERE,
  32. VSS_RME_RESTORE_IF_CAN_REPLACE,
  33. VSS_RME_STOP_RESTORE_START,
  34. VSS_RME_RESTORE_TO_ALTERNATE_LOCATION,
  35. VSS_RME_RESTORE_AT_REBOOT,
  36. VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE,
  37. VSS_RME_CUSTOM,
  38. VSS_RME_RESTORE_STOP_START,
  39. } VSS_RESTOREMETHOD_ENUM;
  40. typedef enum VSS_WRITERRESTORE_ENUM {
  41. VSS_WRE_UNDEFINED = 0,
  42. VSS_WRE_NEVER,
  43. VSS_WRE_IF_REPLACE_FAILS,
  44. VSS_WRE_ALWAYS,
  45. } VSS_WRITERRESTORE_ENUM;
  46. typedef enum VSS_COMPONENT_TYPE {
  47. VSS_CT_UNDEFINED = 0,
  48. VSS_CT_DATABASE,
  49. VSS_CT_FILEGROUP,
  50. } VSS_COMPONENT_TYPE;
  51. typedef enum VSS_ALTERNATE_WRITER_STATE {
  52. VSS_AWS_UNDEFINED = 0,
  53. VSS_AWS_NO_ALTERNATE_WRITER,
  54. VSS_AWS_ALTERNATE_WRITER_EXISTS,
  55. VSS_AWS_THIS_IS_ALTERNATE_WRITER,
  56. } VSS_ALTERNATE_WRITER_STATE;
  57. typedef enum VSS_SUBSCRIBE_MASK {
  58. VSS_SM_POST_SNAPSHOT_FLAG = 0x00000001,
  59. VSS_SM_BACKUP_EVENTS_FLAG = 0x00000002,
  60. VSS_SM_RESTORE_EVENTS_FLAG = 0x00000004,
  61. VSS_SM_IO_THROTTLING_FLAG = 0x00000008,
  62. VSS_SM_ALL_FLAGS = 0xffffffff,
  63. } VSS_SUBSCRIBE_MASK;
  64. typedef enum VSS_RESTORE_TARGET {
  65. VSS_RT_UNDEFINED = 0,
  66. VSS_RT_ORIGINAL,
  67. VSS_RT_ALTERNATE,
  68. VSS_RT_DIRECTED,
  69. VSS_RT_ORIGINAL_LOCATION,
  70. } VSS_RESTORE_TARGET;
  71. typedef enum VSS_FILE_RESTORE_STATUS {
  72. VSS_RS_UNDEFINED = 0,
  73. VSS_RS_NONE,
  74. VSS_RS_ALL,
  75. VSS_RS_FAILED,
  76. } VSS_FILE_RESTORE_STATUS;
  77. typedef enum VSS_COMPONENT_FLAGS {
  78. VSS_CF_BACKUP_RECOVERY = 0x00000001,
  79. VSS_CF_APP_ROLLBACK_RECOVERY = 0x00000002,
  80. VSS_CF_NOT_SYSTEM_STATE = 0x00000004,
  81. } VSS_COMPONENT_FLAGS;
  82. interface IVssExamineWriterMetadata;
  83. [object, uuid(00000000-0000-0000-0000-000000000000), pointer_default(unique)]
  84. interface IVssWMFiledesc : IUnknown
  85. {
  86. HRESULT GetPath(
  87. [out] BSTR *pbstrPath);
  88. HRESULT GetFilespec(
  89. [out] BSTR *pbstrFilespec);
  90. HRESULT GetRecursive(
  91. [out] boolean *pbRecursive);
  92. HRESULT GetAlternateLocation(
  93. [out] BSTR *pbstrAlternateLocation);
  94. HRESULT GetBackupTypeMask(
  95. [out] DWORD *pdwTypeMask);
  96. }
  97. [object, uuid(00000000-0000-0000-0000-000000000000), pointer_default(unique)]
  98. interface IVssWMDependency : IUnknown
  99. {
  100. HRESULT GetWriterId(
  101. [out] VSS_ID *pWriterId);
  102. HRESULT GetLogicalPath(
  103. [out] BSTR *pbstrLogicalPath);
  104. HRESULT GetComponentName(
  105. [out] BSTR *pbstrComponentName);
  106. };
  107. [object, uuid(d2c72c96-c121-4518-b627-e5a93d010ead), pointer_default(unique)]
  108. interface IVssComponent : IUnknown
  109. {
  110. HRESULT GetLogicalPath(
  111. [out] BSTR *pbstrPath);
  112. HRESULT GetComponentType(
  113. [out] VSS_COMPONENT_TYPE *pct);
  114. HRESULT GetComponentName(
  115. [out] BSTR *pbstrName);
  116. HRESULT GetBackupSucceeded(
  117. [out] boolean *pbSucceeded);
  118. HRESULT GetAlternateLocationMappingCount(
  119. [out] UINT *pcMappings);
  120. HRESULT GetAlternateLocationMapping(
  121. [in] UINT iMapping,
  122. [out] IVssWMFiledesc **ppFiledesc);
  123. HRESULT SetBackupMetadata(
  124. [in] LPCWSTR wszData);
  125. HRESULT GetBackupMetadata(
  126. [out] BSTR *pbstrData);
  127. HRESULT AddPartialFile(
  128. [in] LPCWSTR wszPath,
  129. [in] LPCWSTR wszFilename,
  130. [in] LPCWSTR wszRanges,
  131. [in] LPCWSTR wszMetadata);
  132. HRESULT GetPartialFileCount(
  133. [out] UINT *pcPartialFiles);
  134. HRESULT GetPartialFile(
  135. [in] UINT iPartialFile,
  136. [out] BSTR *pbstrPath,
  137. [out] BSTR *pbstrFilename,
  138. [out] BSTR *pbstrRange,
  139. [out] BSTR *pbstrMetadata);
  140. HRESULT IsSelectedForRestore(
  141. [out] boolean *pbSelectedForRestore);
  142. HRESULT GetAdditionalRestores(
  143. [out] boolean *pbAdditionalRestores);
  144. HRESULT GetNewTargetCount(
  145. [out] UINT *pcNewTarget);
  146. HRESULT GetNewTarget(
  147. [in] UINT iNewTarget,
  148. [out] IVssWMFiledesc **ppFiledesc);
  149. HRESULT AddDirectedTarget(
  150. [in] LPCWSTR wszSourcePath,
  151. [in] LPCWSTR wszSourceFilename,
  152. [in] LPCWSTR wszSourceRangeList,
  153. [in] LPCWSTR wszDestinationPath,
  154. [in] LPCWSTR wszDestinationFilename,
  155. [in] LPCWSTR wszDestinationRangeList);
  156. HRESULT GetDirectedTargetCount(
  157. [out] UINT *pcDirectedTarget);
  158. HRESULT GetDirectedTarget(
  159. [in] UINT iDirectedTarget,
  160. [out] BSTR *pbstrSourcePath,
  161. [out] BSTR *pbstrSourceFileName,
  162. [out] BSTR *pbstrSourceRangeList,
  163. [out] BSTR *pbstrDestinationPath,
  164. [out] BSTR *pbstrDestinationFilename,
  165. [out] BSTR *pbstrDestinationRangeList);
  166. HRESULT SetRestoreMetadata(
  167. [in] LPCWSTR wszRestoreMetadata);
  168. HRESULT GetRestoreMetadata(
  169. [out] BSTR *pbstrRestoreMetadata);
  170. HRESULT SetRestoreTarget(
  171. [in] VSS_RESTORE_TARGET target);
  172. HRESULT GetRestoreTarget(
  173. [out] VSS_RESTORE_TARGET *pTarget);
  174. HRESULT SetPreRestoreFailureMsg(
  175. [in] LPCWSTR wszPreRestoreFailureMsg);
  176. HRESULT GetPreRestoreFailureMsg(
  177. [out] BSTR *pbstrPreRestoreFailureMsg);
  178. HRESULT SetPostRestoreFailureMsg(
  179. [in] LPCWSTR wszPostRestoreFailureMsg);
  180. HRESULT GetPostRestoreFailureMsg(
  181. [out] BSTR *pbstrPostRestoreFailureMsg);
  182. HRESULT SetBackupStamp(
  183. [in] LPCWSTR wszBackupStamp);
  184. HRESULT GetBackupStamp(
  185. [out] BSTR *pbstrBackupStamp);
  186. HRESULT GetPreviousBackupStamp(
  187. [out] BSTR *pbstrBackupStamp);
  188. HRESULT GetBackupOptions(
  189. [out] BSTR *pbstrBackupOptions);
  190. HRESULT GetRestoreOptions(
  191. [out] BSTR *pbstrRestoreOptions);
  192. HRESULT GetRestoreSubcomponentCount(
  193. [out] UINT *pcRestoreSubcomponent);
  194. HRESULT GetRestoreSubcomponent(
  195. [in] UINT iComponent,
  196. [out] BSTR *pbstrLogicalPath,
  197. [out] BSTR *pbstrComponentName,
  198. [out] boolean *pbRepair);
  199. HRESULT GetFileRestoreStatus(
  200. [out] VSS_FILE_RESTORE_STATUS *pStatus);
  201. HRESULT AddDifferencedFilesByLastModifyTime(
  202. [in] LPCWSTR wszPath,
  203. [in] LPCWSTR wszFilespec,
  204. [in] WINBOOL bRecursive,
  205. [in] FILETIME ftLastModifyTime);
  206. HRESULT AddDifferencedFilesByLastModifyLSN(
  207. [in] LPCWSTR wszPath,
  208. [in] LPCWSTR wszFilespec,
  209. [in] WINBOOL bRecursive,
  210. [in] BSTR bstrLsnString);
  211. HRESULT GetDifferencedFilesCount(
  212. [out] UINT *pcDifferencedFiles);
  213. HRESULT GetDifferencedFile(
  214. [in] UINT iDifferencedFile,
  215. [out] BSTR *pbstrPath,
  216. [out] BSTR *pbstrFilespec,
  217. [out] WINBOOL *pbRecursive,
  218. [out] BSTR *pbstrLsnString,
  219. [out] FILETIME *pftLastModifyTime);
  220. }
  221. [object, uuid(00000000-0000-0000-0000-000000000000), pointer_default(unique)]
  222. interface IVssWriterComponents
  223. {
  224. HRESULT GetComponentCount(
  225. [out] UINT *pcComponents);
  226. HRESULT GetWriterInfo(
  227. [out] VSS_ID *pidInstance,
  228. [out] VSS_ID *pidWriter);
  229. HRESULT GetComponent(
  230. [in] UINT iComponent,
  231. [out] IVssComponent **ppComponent);
  232. }
  233. [object, uuid(156c8b5e-f131-4bd7-9c97-d1923be7e1fa), pointer_default(unique)]
  234. interface IVssComponentEx : IVssComponent
  235. {
  236. HRESULT SetPrepareForBackupFailureMsg(
  237. [in] LPCWSTR wszFailureMsg);
  238. HRESULT SetPostSnapshotFailureMsg(
  239. [in] LPCWSTR wszFailureMsg);
  240. HRESULT GetPrepareForBackupFailureMsg(
  241. [out] BSTR *pbstrFailureMsg);
  242. HRESULT GetPostSnapshotFailureMsg(
  243. [out] BSTR *pbstrFailureMsg);
  244. HRESULT GetAuthoritativeRestore(
  245. [out] boolean *pbAuth);
  246. HRESULT GetRollForward(
  247. [out] VSS_ROLLFORWARD_TYPE *pRollType,
  248. [out] BSTR *pbstrPoint);
  249. HRESULT GetRestoreName(
  250. [out] BSTR *pbstrName);
  251. }
  252. [object, uuid(3b5be0f2-07a9-4e4b-bdd3-cfdc8e2c0d2d), pointer_default(unique)]
  253. interface IVssComponentEx2 : IVssComponentEx
  254. {
  255. HRESULT SetFailure(
  256. [in] HRESULT hr,
  257. [in] HRESULT hrApplication,
  258. [in] LPCWSTR wszApplicationMessage,
  259. [in] DWORD dwReserved);
  260. HRESULT GetFailure(
  261. [out] HRESULT *phr,
  262. [out] HRESULT *phrApplication,
  263. [out] BSTR *pbstrApplicationMessage,
  264. [out] DWORD *pdwReserved);
  265. }
  266. interface IXMLDOMDocument;
  267. [object, uuid(00000000-0000-0000-0000-000000000000), pointer_default(unique)]
  268. interface IVssCreateWriterMetadata
  269. {
  270. HRESULT AddIncludeFiles(
  271. [in] LPCWSTR wszPath,
  272. [in] LPCWSTR wszFilespec,
  273. [in] boolean bRecursive,
  274. [in] LPCWSTR wszAlternateLocation);
  275. HRESULT AddExcludeFiles(
  276. [in] LPCWSTR wszPath,
  277. [in] LPCWSTR wszFilespec,
  278. [in] boolean bRecursive);
  279. HRESULT AddComponent(
  280. [in] VSS_COMPONENT_TYPE ct,
  281. [in] LPCWSTR wszLogicalPath,
  282. [in] LPCWSTR wszComponentName,
  283. [in] LPCWSTR wszCaption,
  284. [in] const BYTE *pbIcon,
  285. [in] UINT cbIcon,
  286. [in] boolean bRestoreMetadata,
  287. [in] boolean bNotifyOnBackupComplete,
  288. [in] boolean bSelectable,
  289. [in, defaultvalue(0)] boolean bSelectableForRestore,
  290. [in, defaultvalue(0)] DWORD dwComponentFlags);
  291. HRESULT AddDatabaseFiles(
  292. [in] LPCWSTR wszLogicalPath,
  293. [in] LPCWSTR wszDatabaseName,
  294. [in] LPCWSTR wszPath,
  295. [in] LPCWSTR wszFilespec,
  296. [in, defaultvalue(VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED)] DWORD dwBackupTypeMask);
  297. HRESULT AddDatabaseLogFiles(
  298. [in] LPCWSTR wszLogicalPath,
  299. [in] LPCWSTR wszDatabaseName,
  300. [in] LPCWSTR wszPath,
  301. [in] LPCWSTR wszFilespec,
  302. [in, defaultvalue(VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED)] DWORD dwBackupTypeMask);
  303. HRESULT AddFilesToFileGroup(
  304. [in] LPCWSTR wszLogicalPath,
  305. [in] LPCWSTR wszGroupName,
  306. [in] LPCWSTR wszPath,
  307. [in] LPCWSTR wszFilespec,
  308. [in] boolean bRecursive,
  309. [in] LPCWSTR wszAlternateLocation,
  310. [in, defaultvalue(VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED)] DWORD dwBackupTypeMask);
  311. HRESULT SetRestoreMethod(
  312. [in] VSS_RESTOREMETHOD_ENUM method,
  313. [in] LPCWSTR wszService,
  314. [in] LPCWSTR wszUserProcedure,
  315. [in] VSS_WRITERRESTORE_ENUM writerRestore,
  316. [in] boolean bRebootRequired);
  317. HRESULT AddAlternateLocationMapping(
  318. [in] LPCWSTR wszSourcePath,
  319. [in] LPCWSTR wszSourceFilespec,
  320. [in] boolean bRecursive,
  321. [in] LPCWSTR wszDestination);
  322. HRESULT AddComponentDependency(
  323. [in] LPCWSTR wszForLogicalPath,
  324. [in] LPCWSTR wszForComponentName,
  325. [in] VSS_ID onWriterId,
  326. [in] LPCWSTR wszOnLogicalPath,
  327. [in] LPCWSTR wszOnComponentName);
  328. HRESULT SetBackupSchema(
  329. [in] DWORD dwSchemaMask);
  330. HRESULT GetDocument(
  331. [out] IXMLDOMDocument **pDoc);
  332. HRESULT SaveAsXML(
  333. [in] BSTR *pbstrXML);
  334. }
  335. [object, uuid(9f21981d-d469-4349-b807-39e64e4674e1), pointer_default(unique)]
  336. interface IVssCreateWriterMetadataEx : IVssCreateWriterMetadata /* , IUnknown */
  337. {
  338. HRESULT AddExcludeFilesFromSnapshot(
  339. [in] LPCWSTR wszPath,
  340. [in] LPCWSTR wszFilespec,
  341. [in] boolean bRecursive);
  342. }
  343. [object, uuid(00000000-0000-0000-0000-000000000000), pointer_default(unique)]
  344. interface IVssWriterImpl : IUnknown
  345. {
  346. HRESULT Initialize(
  347. [in] VSS_ID writerId,
  348. [in] LPCWSTR wszWriterName,
  349. [in] LPCWSTR wszWriterInstanceName,
  350. [in] DWORD dwMajorVersion,
  351. [in] DWORD dwMinorVersion,
  352. [in] VSS_USAGE_TYPE ut,
  353. [in] VSS_SOURCE_TYPE st,
  354. [in] VSS_APPLICATION_LEVEL nLevel,
  355. [in] DWORD dwTimeout,
  356. [in] VSS_ALTERNATE_WRITER_STATE aws,
  357. [in] boolean bIOThrottlingOnly);
  358. HRESULT Subscribe(
  359. [in] DWORD dwSubscribeTimeout,
  360. [in] DWORD dwEventFlags);
  361. HRESULT Unsubscribe();
  362. void Uninitialize();
  363. LPCWSTR *GetCurrentVolumeArray();
  364. UINT GetCurrentVolumeCount();
  365. HRESULT GetSnapshotDeviceName(
  366. [in] LPCWSTR wszOriginalVolume,
  367. [out] LPCWSTR *ppwszSnapshotDevice);
  368. VSS_ID GetCurrentSnapshotSetId();
  369. LONG GetContext();
  370. VSS_APPLICATION_LEVEL GetCurrentLevel();
  371. boolean IsPathAffected(
  372. [in] LPCWSTR wszPath);
  373. boolean IsBootableSystemStateBackedUp();
  374. boolean AreComponentsSelected();
  375. VSS_BACKUP_TYPE GetBackupType();
  376. VSS_RESTORE_TYPE GetRestoreType();
  377. HRESULT SetWriterFailure(
  378. [in] HRESULT hr);
  379. boolean IsPartialFileSupportEnabled();
  380. HRESULT InstallAlternateWriter(
  381. [in] VSS_ID idWriter,
  382. [in] CLSID clsid);
  383. IVssExamineWriterMetadata* GetIdentityInformation();
  384. HRESULT SetWriterFailureEx(
  385. [in] HRESULT hr,
  386. [in] HRESULT hrApplication,
  387. [in] LPCWSTR wszApplicationMessage);
  388. HRESULT GetSessionId(
  389. [out] VSS_ID *idSession);
  390. boolean IsWriterShuttingDown();
  391. }
  392. [object, uuid(9c772e77-b26e-427f-92dd-c996f41ea5e3), pointer_default(unique)]
  393. interface IVssCreateExpressWriterMetadata : IUnknown
  394. {
  395. HRESULT AddExcludeFiles(
  396. [in] LPCWSTR wszPath,
  397. [in] LPCWSTR wszFilespec,
  398. [in] boolean bRecursive);
  399. HRESULT AddComponent(
  400. [in] VSS_COMPONENT_TYPE ct,
  401. [in] LPCWSTR wszLogicalPath,
  402. [in] LPCWSTR wszComponentName,
  403. [in] LPCWSTR wszCaption,
  404. [in] const BYTE *pbIcon,
  405. [in] UINT cbIcon,
  406. [in] boolean bRestoreMetadata,
  407. [in] boolean bNotifyOnBackupComplete,
  408. [in] boolean bSelectable,
  409. [in, defaultvalue(0)] boolean bSelectableForRestore,
  410. [in, defaultvalue(0)] DWORD dwComponentFlags);
  411. HRESULT AddFilesToFileGroup(
  412. [in] LPCWSTR wszLogicalPath,
  413. [in] LPCWSTR wszGroupName,
  414. [in] LPCWSTR wszPath,
  415. [in] LPCWSTR wszFilespec,
  416. [in] boolean bRecursive,
  417. [in] LPCWSTR wszAlternateLocation,
  418. [in, defaultvalue(VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED)] DWORD dwBackupTypeMask);
  419. HRESULT SetRestoreMethod(
  420. [in] VSS_RESTOREMETHOD_ENUM method,
  421. [in] LPCWSTR wszService,
  422. [in] LPCWSTR wszUserProcedure,
  423. [in] VSS_WRITERRESTORE_ENUM writerRestore,
  424. [in] boolean bRebootRequired);
  425. HRESULT AddComponentDependency(
  426. [in] LPCWSTR wszForLogicalPath,
  427. [in] LPCWSTR wszForComponentName,
  428. [in] VSS_ID onWriterId,
  429. [in] LPCWSTR wszOnLogicalPath,
  430. [in] LPCWSTR wszOnComponentName);
  431. HRESULT SetBackupSchema(
  432. [in] DWORD dwSchemaMask);
  433. HRESULT SaveAsXML(
  434. [out] BSTR *pbstrXML);
  435. }
  436. [object, uuid(e33affdc-59c7-47b1-97d5-4266598f6235), pointer_default(unique)]
  437. interface IVssExpressWriter : IUnknown
  438. {
  439. HRESULT CreateMetadata(
  440. [in] VSS_ID writerId,
  441. [in] LPCWSTR writerName,
  442. [in] VSS_USAGE_TYPE usageType,
  443. [in] DWORD versionMajor,
  444. [in] DWORD versionMinor,
  445. [in] DWORD reserved,
  446. [out] IVssCreateExpressWriterMetadata **ppMetadata);
  447. HRESULT LoadMetadata(
  448. [in] LPCWSTR metadata,
  449. [in] DWORD reserved);
  450. HRESULT Register();
  451. HRESULT Unregister(
  452. [in] VSS_ID writerId);
  453. }
  454. cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP */")