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.

531 lines
19 KiB

  1. #ifndef _NSEP_COIMP_
  2. #define _NSEP_COIMP_
  3. class NSEPCOM : public IMDCOM {
  4. public:
  5. NSEPCOM();
  6. ~NSEPCOM();
  7. HRESULT STDMETHODCALLTYPE
  8. ComMDInitialize( void);
  9. HRESULT STDMETHODCALLTYPE
  10. ComMDTerminate(
  11. /* [in] */ BOOL bSaveData);
  12. HRESULT STDMETHODCALLTYPE
  13. ComMDShutdown( void);
  14. HRESULT STDMETHODCALLTYPE
  15. ComMDAddMetaObjectA(
  16. /* [in] */ METADATA_HANDLE hMDHandle,
  17. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath);
  18. HRESULT STDMETHODCALLTYPE
  19. ComMDAddMetaObjectW(
  20. /* [in] */ METADATA_HANDLE hMDHandle,
  21. /* [string][in][unique] */ LPCWSTR pszMDPath);
  22. HRESULT
  23. ComMDAddMetaObjectD(IN METADATA_HANDLE hMDHandle,
  24. IN PBYTE pszMDPath,
  25. IN BOOL bUnicode);
  26. HRESULT STDMETHODCALLTYPE
  27. ComMDDeleteMetaObjectA(
  28. /* [in] */ METADATA_HANDLE hMDHandle,
  29. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath);
  30. HRESULT STDMETHODCALLTYPE
  31. ComMDDeleteMetaObjectW(
  32. /* [in] */ METADATA_HANDLE hMDHandle,
  33. /* [string][in][unique] */ LPCWSTR pszMDPath);
  34. HRESULT
  35. ComMDDeleteMetaObjectD(IN METADATA_HANDLE hMDHandle,
  36. IN PBYTE pszMDPath,
  37. IN BOOL bUnicode);
  38. HRESULT STDMETHODCALLTYPE
  39. ComMDDeleteChildMetaObjectsA(
  40. /* [in] */ METADATA_HANDLE hMDHandle,
  41. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath);
  42. HRESULT STDMETHODCALLTYPE
  43. ComMDDeleteChildMetaObjectsW(
  44. /* [in] */ METADATA_HANDLE hMDHandle,
  45. /* [string][in][unique] */ LPCWSTR pszMDPath);
  46. HRESULT STDMETHODCALLTYPE
  47. ComMDDeleteChildMetaObjectsD(
  48. /* [in] */ METADATA_HANDLE hMDHandle,
  49. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  50. IN BOOL bUnicode);
  51. HRESULT STDMETHODCALLTYPE
  52. ComMDEnumMetaObjectsA(
  53. /* [in] */ METADATA_HANDLE hMDHandle,
  54. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  55. /* [size_is][out] */ unsigned char __RPC_FAR *pszMDName,
  56. /* [in] */ DWORD dwMDEnumObjectIndex);
  57. HRESULT STDMETHODCALLTYPE
  58. ComMDEnumMetaObjectsW(
  59. /* [in] */ METADATA_HANDLE hMDHandle,
  60. /* [string][in][unique] */ LPCWSTR pszMDPath,
  61. /* [size_is][out] */ LPWSTR pszMDName,
  62. /* [in] */ DWORD dwMDEnumObjectIndex);
  63. HRESULT STDMETHODCALLTYPE
  64. ComMDEnumMetaObjectsD(
  65. /* [in] */ METADATA_HANDLE hMDHandle,
  66. /* [size_is][in] */ unsigned char __RPC_FAR *pszMDPath,
  67. /* [size_is][out] */ unsigned char __RPC_FAR *pszMDName,
  68. /* [in] */ DWORD dwMDEnumObjectIndex,
  69. IN BOOL bUnicode);
  70. HRESULT STDMETHODCALLTYPE
  71. ComMDCopyMetaObjectA(
  72. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  73. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDSourcePath,
  74. /* [in] */ METADATA_HANDLE hMDDestHandle,
  75. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDDestPath,
  76. /* [in] */ BOOL bMDOverwriteFlag,
  77. /* [in] */ BOOL bMDCopyFlag);
  78. HRESULT STDMETHODCALLTYPE
  79. ComMDCopyMetaObjectW(
  80. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  81. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  82. /* [in] */ METADATA_HANDLE hMDDestHandle,
  83. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  84. /* [in] */ BOOL bMDOverwriteFlag,
  85. /* [in] */ BOOL bMDCopyFlag);
  86. HRESULT STDMETHODCALLTYPE
  87. ComMDCopyMetaObjectD(
  88. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  89. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDSourcePath,
  90. /* [in] */ METADATA_HANDLE hMDDestHandle,
  91. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDDestPath,
  92. /* [in] */ BOOL bMDOverwriteFlag,
  93. /* [in] */ BOOL bMDCopyFlag,
  94. IN BOOL bUnicode);
  95. HRESULT STDMETHODCALLTYPE
  96. ComMDRenameMetaObjectA(
  97. /* [in] */ METADATA_HANDLE hMDHandle,
  98. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  99. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDNewName);
  100. HRESULT STDMETHODCALLTYPE
  101. ComMDRenameMetaObjectW(
  102. /* [in] */ METADATA_HANDLE hMDHandle,
  103. /* [string][in][unique] */ LPCWSTR pszMDPath,
  104. /* [string][in][unique] */ LPCWSTR pszMDNewName);
  105. HRESULT STDMETHODCALLTYPE
  106. ComMDRenameMetaObjectD(
  107. /* [in] */ METADATA_HANDLE hMDHandle,
  108. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  109. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDNewName,
  110. IN BOOL bUnicode);
  111. HRESULT STDMETHODCALLTYPE
  112. ComMDSetMetaDataA(
  113. /* [in] */ METADATA_HANDLE hMDHandle,
  114. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  115. /* [in] */ PMETADATA_RECORD pmdrMDData);
  116. HRESULT STDMETHODCALLTYPE
  117. ComMDSetMetaDataW(
  118. /* [in] */ METADATA_HANDLE hMDHandle,
  119. /* [string][in][unique] */ LPCWSTR pszMDPath,
  120. /* [in] */ PMETADATA_RECORD pmdrMDData);
  121. HRESULT STDMETHODCALLTYPE
  122. ComMDSetMetaDataD(
  123. /* [in] */ METADATA_HANDLE hMDHandle,
  124. /* [size_is][in] */ unsigned char __RPC_FAR *pszMDPath,
  125. /* [in] */ PMETADATA_RECORD pmdrMDData,
  126. IN BOOL bUnicode);
  127. HRESULT STDMETHODCALLTYPE
  128. ComMDGetMetaDataA(
  129. /* [in] */ METADATA_HANDLE hMDHandle,
  130. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  131. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  132. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen);
  133. HRESULT STDMETHODCALLTYPE
  134. ComMDGetMetaDataW(
  135. /* [in] */ METADATA_HANDLE hMDHandle,
  136. /* [string][in][unique] */ LPCWSTR pszMDPath,
  137. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  138. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen);
  139. HRESULT STDMETHODCALLTYPE
  140. ComMDGetMetaDataD(
  141. /* [in] */ METADATA_HANDLE hMDHandle,
  142. /* [string][in] */ unsigned char __RPC_FAR *pszMDPath,
  143. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  144. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen,
  145. IN BOOL bUnicode);
  146. HRESULT STDMETHODCALLTYPE
  147. ComMDEnumMetaDataA(
  148. /* [in] */ METADATA_HANDLE hMDHandle,
  149. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  150. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  151. /* [in] */ DWORD dwMDEnumDataIndex,
  152. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen);
  153. HRESULT STDMETHODCALLTYPE
  154. ComMDEnumMetaDataW(
  155. /* [in] */ METADATA_HANDLE hMDHandle,
  156. /* [string][in][unique] */ LPCWSTR pszMDPath,
  157. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  158. /* [in] */ DWORD dwMDEnumDataIndex,
  159. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen);
  160. HRESULT STDMETHODCALLTYPE
  161. ComMDEnumMetaDataD(
  162. /* [in] */ METADATA_HANDLE hMDHandle,
  163. /* [string][in] */ unsigned char __RPC_FAR *pszMDPath,
  164. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  165. /* [in] */ DWORD dwMDEnumDataIndex,
  166. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredDataLen,
  167. IN BOOL bUnicode);
  168. HRESULT STDMETHODCALLTYPE
  169. ComMDDeleteMetaDataA(
  170. /* [in] */ METADATA_HANDLE hMDHandle,
  171. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  172. /* [in] */ DWORD dwMDIdentifier,
  173. /* [in] */ DWORD dwMDDataType);
  174. HRESULT STDMETHODCALLTYPE
  175. ComMDDeleteMetaDataW(
  176. /* [in] */ METADATA_HANDLE hMDHandle,
  177. /* [string][in][unique] */ LPCWSTR pszMDPath,
  178. /* [in] */ DWORD dwMDIdentifier,
  179. /* [in] */ DWORD dwMDDataType);
  180. HRESULT STDMETHODCALLTYPE
  181. ComMDDeleteMetaDataD(
  182. /* [in] */ METADATA_HANDLE hMDHandle,
  183. /* [string][in] */ unsigned char __RPC_FAR *pszMDPath,
  184. /* [in] */ DWORD dwMDIdentifier,
  185. /* [in] */ DWORD dwMDDataType,
  186. IN BOOL bUnicode);
  187. HRESULT STDMETHODCALLTYPE
  188. ComMDGetAllMetaDataA(
  189. /* [in] */ METADATA_HANDLE hMDHandle,
  190. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  191. /* [in] */ DWORD dwMDAttributes,
  192. /* [in] */ DWORD dwMDUserType,
  193. /* [in] */ DWORD dwMDDataType,
  194. /* [out] */ DWORD __RPC_FAR *pdwMDNumDataEntries,
  195. /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber,
  196. /* [in] */ DWORD dwMDBufferSize,
  197. /* [size_is][out] */ unsigned char __RPC_FAR *pbBuffer,
  198. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize);
  199. HRESULT STDMETHODCALLTYPE
  200. ComMDGetAllMetaDataW(
  201. /* [in] */ METADATA_HANDLE hMDHandle,
  202. /* [string][in][unique] */ LPCWSTR pszMDPath,
  203. /* [in] */ DWORD dwMDAttributes,
  204. /* [in] */ DWORD dwMDUserType,
  205. /* [in] */ DWORD dwMDDataType,
  206. /* [out] */ DWORD __RPC_FAR *pdwMDNumDataEntries,
  207. /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber,
  208. /* [in] */ DWORD dwMDBufferSize,
  209. /* [size_is][out] */ unsigned char __RPC_FAR *pbBuffer,
  210. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize);
  211. HRESULT STDMETHODCALLTYPE
  212. ComMDGetAllMetaDataD(
  213. /* [in] */ METADATA_HANDLE hMDHandle,
  214. /* [string][in] */ unsigned char __RPC_FAR *pszMDPath,
  215. /* [in] */ DWORD dwMDAttributes,
  216. /* [in] */ DWORD dwMDUserType,
  217. /* [in] */ DWORD dwMDDataType,
  218. /* [out] */ DWORD __RPC_FAR *pdwMDNumDataEntries,
  219. /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber,
  220. /* [in] */ DWORD dwMDBufferSize,
  221. /* [size_is][out] */ unsigned char __RPC_FAR *pbBuffer,
  222. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize,
  223. IN BOOL bUnicode);
  224. HRESULT STDMETHODCALLTYPE
  225. ComMDDeleteAllMetaDataA(
  226. /* [in] */ METADATA_HANDLE hMDHandle,
  227. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  228. /* [in] */ DWORD dwMDUserType,
  229. /* [in] */ DWORD dwMDDataType);
  230. HRESULT STDMETHODCALLTYPE
  231. ComMDDeleteAllMetaDataW(
  232. /* [in] */ METADATA_HANDLE hMDHandle,
  233. /* [string][in][unique] */ LPCWSTR pszMDPath,
  234. /* [in] */ DWORD dwMDUserType,
  235. /* [in] */ DWORD dwMDDataType);
  236. HRESULT STDMETHODCALLTYPE
  237. ComMDDeleteAllMetaDataD(
  238. /* [in] */ METADATA_HANDLE hMDHandle,
  239. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  240. /* [in] */ DWORD dwMDUserType,
  241. /* [in] */ DWORD dwMDDataType,
  242. IN BOOL bUnicode);
  243. HRESULT STDMETHODCALLTYPE
  244. ComMDCopyMetaDataA(
  245. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  246. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDSourcePath,
  247. /* [in] */ METADATA_HANDLE hMDDestHandle,
  248. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDDestPath,
  249. /* [in] */ DWORD dwMDAttributes,
  250. /* [in] */ DWORD dwMDUserType,
  251. /* [in] */ DWORD dwMDDataType,
  252. /* [in] */ BOOL bMDCopyFlag);
  253. HRESULT STDMETHODCALLTYPE
  254. ComMDCopyMetaDataW(
  255. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  256. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  257. /* [in] */ METADATA_HANDLE hMDDestHandle,
  258. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  259. /* [in] */ DWORD dwMDAttributes,
  260. /* [in] */ DWORD dwMDUserType,
  261. /* [in] */ DWORD dwMDDataType,
  262. /* [in] */ BOOL bMDCopyFlag);
  263. HRESULT STDMETHODCALLTYPE
  264. ComMDCopyMetaDataD(
  265. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  266. /* [string][in] */ unsigned char __RPC_FAR *pszMDSourcePath,
  267. /* [in] */ METADATA_HANDLE hMDDestHandle,
  268. /* [string][in] */ unsigned char __RPC_FAR *pszMDDestPath,
  269. /* [in] */ DWORD dwMDAttributes,
  270. /* [in] */ DWORD dwMDUserType,
  271. /* [in] */ DWORD dwMDDataType,
  272. /* [in] */ BOOL bMDCopyFlag,
  273. IN BOOL bUnicode);
  274. HRESULT STDMETHODCALLTYPE
  275. ComMDGetMetaDataPathsA(
  276. /* [in] */ METADATA_HANDLE hMDHandle,
  277. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  278. /* [in] */ DWORD dwMDIdentifier,
  279. /* [in] */ DWORD dwMDDataType,
  280. /* [in] */ DWORD dwMDBufferSize,
  281. /* [size_is][out] */ unsigned char __RPC_FAR *pszMDBuffer,
  282. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize);
  283. HRESULT STDMETHODCALLTYPE
  284. ComMDGetMetaDataPathsW(
  285. /* [in] */ METADATA_HANDLE hMDHandle,
  286. /* [string][in][unique] */ LPCWSTR pszMDPath,
  287. /* [in] */ DWORD dwMDIdentifier,
  288. /* [in] */ DWORD dwMDDataType,
  289. /* [in] */ DWORD dwMDBufferSize,
  290. /* [size_is][out] */ LPWSTR pszMDBuffer,
  291. /* [out] */ DWORD __RPC_FAR *pdwMDRequiredBufferSize);
  292. HRESULT STDMETHODCALLTYPE
  293. ComMDOpenMetaObjectA(
  294. /* [in] */ METADATA_HANDLE hMDHandle,
  295. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  296. /* [in] */ DWORD dwMDAccessRequested,
  297. /* [in] */ DWORD dwMDTimeOut,
  298. /* [out] */ PMETADATA_HANDLE phMDNewHandle);
  299. HRESULT STDMETHODCALLTYPE
  300. ComMDOpenMetaObjectW(
  301. /* [in] */ METADATA_HANDLE hMDHandle,
  302. /* [string][in][unique] */ LPCWSTR pszMDPath,
  303. /* [in] */ DWORD dwMDAccessRequested,
  304. /* [in] */ DWORD dwMDTimeOut,
  305. /* [out] */ PMETADATA_HANDLE phMDNewHandle);
  306. HRESULT STDMETHODCALLTYPE
  307. ComMDOpenMetaObjectD(
  308. /* [in] */ METADATA_HANDLE hMDHandle,
  309. /* [string][in] */ unsigned char __RPC_FAR *pszMDPath,
  310. /* [in] */ DWORD dwMDAccessRequested,
  311. /* [in] */ DWORD dwMDTimeOut,
  312. /* [out] */ PMETADATA_HANDLE phMDNewHandle,
  313. IN BOOL bUnicode);
  314. HRESULT STDMETHODCALLTYPE
  315. ComMDCloseMetaObject(
  316. /* [in] */ METADATA_HANDLE hMDHandle);
  317. HRESULT STDMETHODCALLTYPE
  318. ComMDChangePermissions(
  319. /* [in] */ METADATA_HANDLE hMDHandle,
  320. /* [in] */ DWORD dwMDTimeOut,
  321. /* [in] */ DWORD dwMDAccessRequested);
  322. HRESULT STDMETHODCALLTYPE
  323. ComMDSaveData(METADATA_HANDLE hMDHandle = 0);
  324. HRESULT STDMETHODCALLTYPE
  325. ComMDGetHandleInfo(
  326. /* [in] */ METADATA_HANDLE hMDHandle,
  327. /* [out] */ PMETADATA_HANDLE_INFO pmdhiInfo);
  328. HRESULT STDMETHODCALLTYPE
  329. ComMDGetSystemChangeNumber(
  330. /* [out] */ DWORD __RPC_FAR *pdwSystemChangeNumber);
  331. HRESULT STDMETHODCALLTYPE
  332. ComMDGetDataSetNumberA(
  333. /* [in] */ METADATA_HANDLE hMDHandle,
  334. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  335. /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber);
  336. HRESULT STDMETHODCALLTYPE
  337. ComMDGetDataSetNumberW(
  338. /* [in] */ METADATA_HANDLE hMDHandle,
  339. /* [string][in][unique] */ LPCWSTR pszMDPath,
  340. /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber);
  341. HRESULT STDMETHODCALLTYPE
  342. ComMDGetDataSetNumberD(
  343. /* [in] */ METADATA_HANDLE hMDHandle,
  344. /* [string][in] */ unsigned char __RPC_FAR *pszMDPath,
  345. /* [out] */ DWORD __RPC_FAR *pdwMDDataSetNumber,
  346. IN BOOL bUnicode);
  347. HRESULT STDMETHODCALLTYPE
  348. ComMDAddRefReferenceData(
  349. /* [in] */ DWORD dwMDDataTag);
  350. HRESULT STDMETHODCALLTYPE
  351. ComMDReleaseReferenceData(
  352. /* [in] */ DWORD dwMDDataTag);
  353. HRESULT STDMETHODCALLTYPE
  354. ComMDSetLastChangeTimeA(
  355. /* [in] */ METADATA_HANDLE hMDHandle,
  356. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  357. /* [in] */ PFILETIME pftMDLastChangeTime);
  358. HRESULT STDMETHODCALLTYPE
  359. ComMDSetLastChangeTimeW(
  360. /* [in] */ METADATA_HANDLE hMDHandle,
  361. /* [string][in][unique] */ LPCWSTR pszMDPath,
  362. /* [in] */ PFILETIME pftMDLastChangeTime);
  363. HRESULT STDMETHODCALLTYPE
  364. ComMDSetLastChangeTimeD(
  365. /* [in] */ METADATA_HANDLE hMDHandle,
  366. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  367. /* [in] */ PFILETIME pftMDLastChangeTime,
  368. IN BOOL bUnicode);
  369. HRESULT STDMETHODCALLTYPE
  370. ComMDGetLastChangeTimeA(
  371. /* [in] */ METADATA_HANDLE hMDHandle,
  372. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  373. /* [out] */ PFILETIME pftMDLastChangeTime);
  374. HRESULT STDMETHODCALLTYPE
  375. ComMDGetLastChangeTimeW(
  376. /* [in] */ METADATA_HANDLE hMDHandle,
  377. /* [string][in][unique] */ LPCWSTR pszMDPath,
  378. /* [out] */ PFILETIME pftMDLastChangeTime);
  379. HRESULT STDMETHODCALLTYPE
  380. ComMDGetLastChangeTimeD(
  381. /* [in] */ METADATA_HANDLE hMDHandle,
  382. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDPath,
  383. /* [out] */ PFILETIME pftMDLastChangeTime,
  384. IN BOOL bUnicode);
  385. HRESULT STDMETHODCALLTYPE ComMDBackupA(
  386. /* [in] */ METADATA_HANDLE hMDHandle,
  387. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDBackupLocation,
  388. /* [in] */ DWORD dwMDVersion,
  389. /* [in] */ DWORD dwMDFlags);
  390. HRESULT STDMETHODCALLTYPE ComMDBackupW(
  391. /* [in] */ METADATA_HANDLE hMDHandle,
  392. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  393. /* [in] */ DWORD dwMDVersion,
  394. /* [in] */ DWORD dwMDFlags);
  395. HRESULT STDMETHODCALLTYPE ComMDBackup2W(
  396. /* [in] */ METADATA_HANDLE hMDHandle,
  397. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  398. /* [in] */ DWORD dwMDVersion,
  399. /* [in] */ DWORD dwMDFlags,
  400. /* [defaultvalue][string][in][unique] */ LPCWSTR pszPasswd)
  401. {
  402. return S_OK;
  403. }
  404. HRESULT STDMETHODCALLTYPE ComMDRestoreA(
  405. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDBackupLocation,
  406. /* [in] */ DWORD dwMDVersion,
  407. /* [in] */ DWORD dwMDFlags);
  408. HRESULT STDMETHODCALLTYPE ComMDRestoreW(
  409. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  410. /* [in] */ DWORD dwMDVersion,
  411. /* [in] */ DWORD dwMDFlags);
  412. HRESULT STDMETHODCALLTYPE ComMDRestore2W(
  413. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  414. /* [in] */ DWORD dwVersion,
  415. /* [in] */ DWORD dwMDFlags,
  416. /* [defaultvalue][string][in][unique] */ LPCWSTR pszPasswd)
  417. {
  418. return S_OK;
  419. }
  420. HRESULT STDMETHODCALLTYPE ComMDEnumBackupsA(
  421. /* [size_is (MD_BACKUP_MAX_LEN)][in, out] */ unsigned char __RPC_FAR *pszMDBackupLocation,
  422. /* [out] */ DWORD *pdwMDVersion,
  423. /* [out] */ PFILETIME pftMDBackupTime,
  424. /* [in] */ DWORD dwMDEnumIndex);
  425. HRESULT STDMETHODCALLTYPE ComMDEnumBackupsW(
  426. /* [size_is (MD_BACKUP_MAX_LEN)][in, out] */ LPWSTR pszMDBackupLocation,
  427. /* [out] */ DWORD *pdwVersion,
  428. /* [out] */ PFILETIME pftMDBackupTime,
  429. /* [in] */ DWORD dwMDEnumIndex);
  430. HRESULT STDMETHODCALLTYPE ComMDDeleteBackupA(
  431. /* [string][in][unique] */ unsigned char __RPC_FAR *pszMDBackupLocation,
  432. /* [in] */ DWORD dwMDVersion);
  433. HRESULT STDMETHODCALLTYPE ComMDDeleteBackupW(
  434. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  435. /* [in] */ DWORD dwMDVersion);
  436. HRESULT _stdcall
  437. QueryInterface(REFIID riid, void **ppObject);
  438. ULONG _stdcall
  439. AddRef();
  440. ULONG _stdcall
  441. Release();
  442. private:
  443. DWORD m_dwRefCount;
  444. inline HRESULT
  445. NSEPCOM::ReturnCodeToHresult(DWORD dwReturnCode);
  446. };
  447. #endif
  448.