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.

1478 lines
42 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for propidl.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __propidl_h__
  27. #define __propidl_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IPropertyStorage_FWD_DEFINED__
  33. #define __IPropertyStorage_FWD_DEFINED__
  34. typedef interface IPropertyStorage IPropertyStorage;
  35. #endif /* __IPropertyStorage_FWD_DEFINED__ */
  36. #ifndef __IPropertySetStorage_FWD_DEFINED__
  37. #define __IPropertySetStorage_FWD_DEFINED__
  38. typedef interface IPropertySetStorage IPropertySetStorage;
  39. #endif /* __IPropertySetStorage_FWD_DEFINED__ */
  40. #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
  41. #define __IEnumSTATPROPSTG_FWD_DEFINED__
  42. typedef interface IEnumSTATPROPSTG IEnumSTATPROPSTG;
  43. #endif /* __IEnumSTATPROPSTG_FWD_DEFINED__ */
  44. #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
  45. #define __IEnumSTATPROPSETSTG_FWD_DEFINED__
  46. typedef interface IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
  47. #endif /* __IEnumSTATPROPSETSTG_FWD_DEFINED__ */
  48. /* header files for imported files */
  49. #include "objidl.h"
  50. #include "oaidl.h"
  51. #ifdef __cplusplus
  52. extern "C"{
  53. #endif
  54. void * __RPC_USER MIDL_user_allocate(size_t);
  55. void __RPC_USER MIDL_user_free( void * );
  56. /* interface __MIDL_itf_propidl_0000 */
  57. /* [local] */
  58. //+-------------------------------------------------------------------------
  59. //
  60. // Microsoft Windows
  61. // Copyright (c) Microsoft Corporation. All rights reserved.
  62. //
  63. //--------------------------------------------------------------------------
  64. #if ( _MSC_VER >= 800 )
  65. #if _MSC_VER >= 1200
  66. #pragma warning(push)
  67. #endif
  68. #pragma warning(disable:4201) /* Nameless struct/union */
  69. #pragma warning(disable:4237) /* obsolete member named 'bool' */
  70. #endif
  71. #if ( _MSC_VER >= 1020 )
  72. #pragma once
  73. #endif
  74. typedef struct tagVersionedStream
  75. {
  76. GUID guidVersion;
  77. IStream *pStream;
  78. } VERSIONEDSTREAM;
  79. typedef struct tagVersionedStream *LPVERSIONEDSTREAM;
  80. // Flags for IPropertySetStorage::Create
  81. #define PROPSETFLAG_DEFAULT ( 0 )
  82. #define PROPSETFLAG_NONSIMPLE ( 1 )
  83. #define PROPSETFLAG_ANSI ( 2 )
  84. // (This flag is only supported on StgCreatePropStg & StgOpenPropStg
  85. #define PROPSETFLAG_UNBUFFERED ( 4 )
  86. // (This flag causes a version-1 property set to be created
  87. #define PROPSETFLAG_CASE_SENSITIVE ( 8 )
  88. // Flags for the reservied PID_BEHAVIOR property
  89. #define PROPSET_BEHAVIOR_CASE_SENSITIVE ( 1 )
  90. #ifdef MIDL_PASS
  91. // This is the PROPVARIANT definition for marshaling.
  92. typedef struct tag_inner_PROPVARIANT PROPVARIANT;
  93. #else
  94. // This is the standard C layout of the PROPVARIANT.
  95. typedef struct tagPROPVARIANT PROPVARIANT;
  96. #endif
  97. typedef struct tagCAC
  98. {
  99. ULONG cElems;
  100. /* [size_is] */ CHAR *pElems;
  101. } CAC;
  102. typedef struct tagCAUB
  103. {
  104. ULONG cElems;
  105. /* [size_is] */ UCHAR *pElems;
  106. } CAUB;
  107. typedef struct tagCAI
  108. {
  109. ULONG cElems;
  110. /* [size_is] */ SHORT *pElems;
  111. } CAI;
  112. typedef struct tagCAUI
  113. {
  114. ULONG cElems;
  115. /* [size_is] */ USHORT *pElems;
  116. } CAUI;
  117. typedef struct tagCAL
  118. {
  119. ULONG cElems;
  120. /* [size_is] */ LONG *pElems;
  121. } CAL;
  122. typedef struct tagCAUL
  123. {
  124. ULONG cElems;
  125. /* [size_is] */ ULONG *pElems;
  126. } CAUL;
  127. typedef struct tagCAFLT
  128. {
  129. ULONG cElems;
  130. /* [size_is] */ FLOAT *pElems;
  131. } CAFLT;
  132. typedef struct tagCADBL
  133. {
  134. ULONG cElems;
  135. /* [size_is] */ DOUBLE *pElems;
  136. } CADBL;
  137. typedef struct tagCACY
  138. {
  139. ULONG cElems;
  140. /* [size_is] */ CY *pElems;
  141. } CACY;
  142. typedef struct tagCADATE
  143. {
  144. ULONG cElems;
  145. /* [size_is] */ DATE *pElems;
  146. } CADATE;
  147. typedef struct tagCABSTR
  148. {
  149. ULONG cElems;
  150. /* [size_is] */ BSTR *pElems;
  151. } CABSTR;
  152. typedef struct tagCABSTRBLOB
  153. {
  154. ULONG cElems;
  155. /* [size_is] */ BSTRBLOB *pElems;
  156. } CABSTRBLOB;
  157. typedef struct tagCABOOL
  158. {
  159. ULONG cElems;
  160. /* [size_is] */ VARIANT_BOOL *pElems;
  161. } CABOOL;
  162. typedef struct tagCASCODE
  163. {
  164. ULONG cElems;
  165. /* [size_is] */ SCODE *pElems;
  166. } CASCODE;
  167. typedef struct tagCAPROPVARIANT
  168. {
  169. ULONG cElems;
  170. /* [size_is] */ PROPVARIANT *pElems;
  171. } CAPROPVARIANT;
  172. typedef struct tagCAH
  173. {
  174. ULONG cElems;
  175. /* [size_is] */ LARGE_INTEGER *pElems;
  176. } CAH;
  177. typedef struct tagCAUH
  178. {
  179. ULONG cElems;
  180. /* [size_is] */ ULARGE_INTEGER *pElems;
  181. } CAUH;
  182. typedef struct tagCALPSTR
  183. {
  184. ULONG cElems;
  185. /* [size_is] */ LPSTR *pElems;
  186. } CALPSTR;
  187. typedef struct tagCALPWSTR
  188. {
  189. ULONG cElems;
  190. /* [size_is] */ LPWSTR *pElems;
  191. } CALPWSTR;
  192. typedef struct tagCAFILETIME
  193. {
  194. ULONG cElems;
  195. /* [size_is] */ FILETIME *pElems;
  196. } CAFILETIME;
  197. typedef struct tagCACLIPDATA
  198. {
  199. ULONG cElems;
  200. /* [size_is] */ CLIPDATA *pElems;
  201. } CACLIPDATA;
  202. typedef struct tagCACLSID
  203. {
  204. ULONG cElems;
  205. /* [size_is] */ CLSID *pElems;
  206. } CACLSID;
  207. #ifdef MIDL_PASS
  208. // This is the PROPVARIANT padding layout for marshaling.
  209. typedef BYTE PROPVAR_PAD1;
  210. typedef BYTE PROPVAR_PAD2;
  211. typedef ULONG PROPVAR_PAD3;
  212. #else
  213. // This is the standard C layout of the structure.
  214. typedef WORD PROPVAR_PAD1;
  215. typedef WORD PROPVAR_PAD2;
  216. typedef WORD PROPVAR_PAD3;
  217. #define tag_inner_PROPVARIANT
  218. #endif
  219. #ifndef MIDL_PASS
  220. struct tagPROPVARIANT {
  221. union {
  222. #endif
  223. struct tag_inner_PROPVARIANT
  224. {
  225. VARTYPE vt;
  226. PROPVAR_PAD1 wReserved1;
  227. PROPVAR_PAD2 wReserved2;
  228. PROPVAR_PAD3 wReserved3;
  229. /* [switch_is] */ /* [switch_type] */ union
  230. {
  231. /* [case()] */ /* Empty union arm */
  232. /* [case()] */ CHAR cVal;
  233. /* [case()] */ UCHAR bVal;
  234. /* [case()] */ SHORT iVal;
  235. /* [case()] */ USHORT uiVal;
  236. /* [case()] */ LONG lVal;
  237. /* [case()] */ ULONG ulVal;
  238. /* [case()] */ INT intVal;
  239. /* [case()] */ UINT uintVal;
  240. /* [case()] */ LARGE_INTEGER hVal;
  241. /* [case()] */ ULARGE_INTEGER uhVal;
  242. /* [case()] */ FLOAT fltVal;
  243. /* [case()] */ DOUBLE dblVal;
  244. /* [case()] */ VARIANT_BOOL boolVal;
  245. /* [case()] */ _VARIANT_BOOL bool;
  246. /* [case()] */ SCODE scode;
  247. /* [case()] */ CY cyVal;
  248. /* [case()] */ DATE date;
  249. /* [case()] */ FILETIME filetime;
  250. /* [case()] */ CLSID *puuid;
  251. /* [case()] */ CLIPDATA *pclipdata;
  252. /* [case()] */ BSTR bstrVal;
  253. /* [case()] */ BSTRBLOB bstrblobVal;
  254. /* [case()] */ BLOB blob;
  255. /* [case()] */ LPSTR pszVal;
  256. /* [case()] */ LPWSTR pwszVal;
  257. /* [case()] */ IUnknown *punkVal;
  258. /* [case()] */ IDispatch *pdispVal;
  259. /* [case()] */ IStream *pStream;
  260. /* [case()] */ IStorage *pStorage;
  261. /* [case()] */ LPVERSIONEDSTREAM pVersionedStream;
  262. /* [case()] */ LPSAFEARRAY parray;
  263. /* [case()] */ CAC cac;
  264. /* [case()] */ CAUB caub;
  265. /* [case()] */ CAI cai;
  266. /* [case()] */ CAUI caui;
  267. /* [case()] */ CAL cal;
  268. /* [case()] */ CAUL caul;
  269. /* [case()] */ CAH cah;
  270. /* [case()] */ CAUH cauh;
  271. /* [case()] */ CAFLT caflt;
  272. /* [case()] */ CADBL cadbl;
  273. /* [case()] */ CABOOL cabool;
  274. /* [case()] */ CASCODE cascode;
  275. /* [case()] */ CACY cacy;
  276. /* [case()] */ CADATE cadate;
  277. /* [case()] */ CAFILETIME cafiletime;
  278. /* [case()] */ CACLSID cauuid;
  279. /* [case()] */ CACLIPDATA caclipdata;
  280. /* [case()] */ CABSTR cabstr;
  281. /* [case()] */ CABSTRBLOB cabstrblob;
  282. /* [case()] */ CALPSTR calpstr;
  283. /* [case()] */ CALPWSTR calpwstr;
  284. /* [case()] */ CAPROPVARIANT capropvar;
  285. /* [case()] */ CHAR *pcVal;
  286. /* [case()] */ UCHAR *pbVal;
  287. /* [case()] */ SHORT *piVal;
  288. /* [case()] */ USHORT *puiVal;
  289. /* [case()] */ LONG *plVal;
  290. /* [case()] */ ULONG *pulVal;
  291. /* [case()] */ INT *pintVal;
  292. /* [case()] */ UINT *puintVal;
  293. /* [case()] */ FLOAT *pfltVal;
  294. /* [case()] */ DOUBLE *pdblVal;
  295. /* [case()] */ VARIANT_BOOL *pboolVal;
  296. /* [case()] */ DECIMAL *pdecVal;
  297. /* [case()] */ SCODE *pscode;
  298. /* [case()] */ CY *pcyVal;
  299. /* [case()] */ DATE *pdate;
  300. /* [case()] */ BSTR *pbstrVal;
  301. /* [case()] */ IUnknown **ppunkVal;
  302. /* [case()] */ IDispatch **ppdispVal;
  303. /* [case()] */ LPSAFEARRAY *pparray;
  304. /* [case()] */ PROPVARIANT *pvarVal;
  305. } ;
  306. } ;
  307. #ifndef MIDL_PASS
  308. DECIMAL decVal;
  309. };
  310. };
  311. #endif
  312. #ifdef MIDL_PASS
  313. // This is the LPPROPVARIANT definition for marshaling.
  314. typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT;
  315. #else
  316. // This is the standard C layout of the PROPVARIANT.
  317. typedef struct tagPROPVARIANT * LPPROPVARIANT;
  318. #endif
  319. // Reserved global Property IDs
  320. #define PID_DICTIONARY ( 0 )
  321. #define PID_CODEPAGE ( 0x1 )
  322. #define PID_FIRST_USABLE ( 0x2 )
  323. #define PID_FIRST_NAME_DEFAULT ( 0xfff )
  324. #define PID_LOCALE ( 0x80000000 )
  325. #define PID_MODIFY_TIME ( 0x80000001 )
  326. #define PID_SECURITY ( 0x80000002 )
  327. #define PID_BEHAVIOR ( 0x80000003 )
  328. #define PID_ILLEGAL ( 0xffffffff )
  329. // Range which is read-only to downlevel implementations
  330. #define PID_MIN_READONLY ( 0x80000000 )
  331. #define PID_MAX_READONLY ( 0xbfffffff )
  332. // Property IDs for the DiscardableInformation Property Set
  333. #define PIDDI_THUMBNAIL 0x00000002L // VT_BLOB
  334. // Property IDs for the SummaryInformation Property Set
  335. #define PIDSI_TITLE 0x00000002L // VT_LPSTR
  336. #define PIDSI_SUBJECT 0x00000003L // VT_LPSTR
  337. #define PIDSI_AUTHOR 0x00000004L // VT_LPSTR
  338. #define PIDSI_KEYWORDS 0x00000005L // VT_LPSTR
  339. #define PIDSI_COMMENTS 0x00000006L // VT_LPSTR
  340. #define PIDSI_TEMPLATE 0x00000007L // VT_LPSTR
  341. #define PIDSI_LASTAUTHOR 0x00000008L // VT_LPSTR
  342. #define PIDSI_REVNUMBER 0x00000009L // VT_LPSTR
  343. #define PIDSI_EDITTIME 0x0000000aL // VT_FILETIME (UTC)
  344. #define PIDSI_LASTPRINTED 0x0000000bL // VT_FILETIME (UTC)
  345. #define PIDSI_CREATE_DTM 0x0000000cL // VT_FILETIME (UTC)
  346. #define PIDSI_LASTSAVE_DTM 0x0000000dL // VT_FILETIME (UTC)
  347. #define PIDSI_PAGECOUNT 0x0000000eL // VT_I4
  348. #define PIDSI_WORDCOUNT 0x0000000fL // VT_I4
  349. #define PIDSI_CHARCOUNT 0x00000010L // VT_I4
  350. #define PIDSI_THUMBNAIL 0x00000011L // VT_CF
  351. #define PIDSI_APPNAME 0x00000012L // VT_LPSTR
  352. #define PIDSI_DOC_SECURITY 0x00000013L // VT_I4
  353. // Property IDs for the DocSummaryInformation Property Set
  354. #define PIDDSI_CATEGORY 0x00000002 // VT_LPSTR
  355. #define PIDDSI_PRESFORMAT 0x00000003 // VT_LPSTR
  356. #define PIDDSI_BYTECOUNT 0x00000004 // VT_I4
  357. #define PIDDSI_LINECOUNT 0x00000005 // VT_I4
  358. #define PIDDSI_PARCOUNT 0x00000006 // VT_I4
  359. #define PIDDSI_SLIDECOUNT 0x00000007 // VT_I4
  360. #define PIDDSI_NOTECOUNT 0x00000008 // VT_I4
  361. #define PIDDSI_HIDDENCOUNT 0x00000009 // VT_I4
  362. #define PIDDSI_MMCLIPCOUNT 0x0000000A // VT_I4
  363. #define PIDDSI_SCALE 0x0000000B // VT_BOOL
  364. #define PIDDSI_HEADINGPAIR 0x0000000C // VT_VARIANT | VT_VECTOR
  365. #define PIDDSI_DOCPARTS 0x0000000D // VT_LPSTR | VT_VECTOR
  366. #define PIDDSI_MANAGER 0x0000000E // VT_LPSTR
  367. #define PIDDSI_COMPANY 0x0000000F // VT_LPSTR
  368. #define PIDDSI_LINKSDIRTY 0x00000010 // VT_BOOL
  369. // FMTID_MediaFileSummaryInfo - Property IDs
  370. #define PIDMSI_EDITOR 0x00000002L // VT_LPWSTR
  371. #define PIDMSI_SUPPLIER 0x00000003L // VT_LPWSTR
  372. #define PIDMSI_SOURCE 0x00000004L // VT_LPWSTR
  373. #define PIDMSI_SEQUENCE_NO 0x00000005L // VT_LPWSTR
  374. #define PIDMSI_PROJECT 0x00000006L // VT_LPWSTR
  375. #define PIDMSI_STATUS 0x00000007L // VT_UI4
  376. #define PIDMSI_OWNER 0x00000008L // VT_LPWSTR
  377. #define PIDMSI_RATING 0x00000009L // VT_LPWSTR
  378. #define PIDMSI_PRODUCTION 0x0000000AL // VT_FILETIME (UTC)
  379. #define PIDMSI_COPYRIGHT 0x0000000BL // VT_LPWSTR
  380. // PIDMSI_STATUS value definitions
  381. enum PIDMSI_STATUS_VALUE
  382. { PIDMSI_STATUS_NORMAL = 0,
  383. PIDMSI_STATUS_NEW = PIDMSI_STATUS_NORMAL + 1,
  384. PIDMSI_STATUS_PRELIM = PIDMSI_STATUS_NEW + 1,
  385. PIDMSI_STATUS_DRAFT = PIDMSI_STATUS_PRELIM + 1,
  386. PIDMSI_STATUS_INPROGRESS = PIDMSI_STATUS_DRAFT + 1,
  387. PIDMSI_STATUS_EDIT = PIDMSI_STATUS_INPROGRESS + 1,
  388. PIDMSI_STATUS_REVIEW = PIDMSI_STATUS_EDIT + 1,
  389. PIDMSI_STATUS_PROOF = PIDMSI_STATUS_REVIEW + 1,
  390. PIDMSI_STATUS_FINAL = PIDMSI_STATUS_PROOF + 1,
  391. PIDMSI_STATUS_OTHER = 0x7fff
  392. } ;
  393. #define PRSPEC_INVALID ( 0xffffffff )
  394. #define PRSPEC_LPWSTR ( 0 )
  395. #define PRSPEC_PROPID ( 1 )
  396. typedef struct tagPROPSPEC
  397. {
  398. ULONG ulKind;
  399. /* [switch_is] */ /* [switch_type] */ union
  400. {
  401. /* [case()] */ PROPID propid;
  402. /* [case()] */ LPOLESTR lpwstr;
  403. /* [default] */ /* Empty union arm */
  404. } ;
  405. } PROPSPEC;
  406. typedef struct tagSTATPROPSTG
  407. {
  408. LPOLESTR lpwstrName;
  409. PROPID propid;
  410. VARTYPE vt;
  411. } STATPROPSTG;
  412. // Macros for parsing the OS Version of the Property Set Header
  413. #define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )
  414. #define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))
  415. #define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))
  416. #define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF
  417. typedef struct tagSTATPROPSETSTG
  418. {
  419. FMTID fmtid;
  420. CLSID clsid;
  421. DWORD grfFlags;
  422. FILETIME mtime;
  423. FILETIME ctime;
  424. FILETIME atime;
  425. DWORD dwOSVersion;
  426. } STATPROPSETSTG;
  427. extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_v0_0_c_ifspec;
  428. extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_v0_0_s_ifspec;
  429. #ifndef __IPropertyStorage_INTERFACE_DEFINED__
  430. #define __IPropertyStorage_INTERFACE_DEFINED__
  431. /* interface IPropertyStorage */
  432. /* [unique][uuid][object] */
  433. EXTERN_C const IID IID_IPropertyStorage;
  434. #if defined(__cplusplus) && !defined(CINTERFACE)
  435. MIDL_INTERFACE("00000138-0000-0000-C000-000000000046")
  436. IPropertyStorage : public IUnknown
  437. {
  438. public:
  439. virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
  440. /* [in] */ ULONG cpspec,
  441. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  442. /* [size_is][out] */ PROPVARIANT rgpropvar[ ]) = 0;
  443. virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
  444. /* [in] */ ULONG cpspec,
  445. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  446. /* [size_is][in] */ const PROPVARIANT rgpropvar[ ],
  447. /* [in] */ PROPID propidNameFirst) = 0;
  448. virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
  449. /* [in] */ ULONG cpspec,
  450. /* [size_is][in] */ const PROPSPEC rgpspec[ ]) = 0;
  451. virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
  452. /* [in] */ ULONG cpropid,
  453. /* [size_is][in] */ const PROPID rgpropid[ ],
  454. /* [size_is][out] */ LPOLESTR rglpwstrName[ ]) = 0;
  455. virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
  456. /* [in] */ ULONG cpropid,
  457. /* [size_is][in] */ const PROPID rgpropid[ ],
  458. /* [size_is][in] */ const LPOLESTR rglpwstrName[ ]) = 0;
  459. virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
  460. /* [in] */ ULONG cpropid,
  461. /* [size_is][in] */ const PROPID rgpropid[ ]) = 0;
  462. virtual HRESULT STDMETHODCALLTYPE Commit(
  463. /* [in] */ DWORD grfCommitFlags) = 0;
  464. virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
  465. virtual HRESULT STDMETHODCALLTYPE Enum(
  466. /* [out] */ IEnumSTATPROPSTG **ppenum) = 0;
  467. virtual HRESULT STDMETHODCALLTYPE SetTimes(
  468. /* [in] */ const FILETIME *pctime,
  469. /* [in] */ const FILETIME *patime,
  470. /* [in] */ const FILETIME *pmtime) = 0;
  471. virtual HRESULT STDMETHODCALLTYPE SetClass(
  472. /* [in] */ REFCLSID clsid) = 0;
  473. virtual HRESULT STDMETHODCALLTYPE Stat(
  474. /* [out] */ STATPROPSETSTG *pstatpsstg) = 0;
  475. };
  476. #else /* C style interface */
  477. typedef struct IPropertyStorageVtbl
  478. {
  479. BEGIN_INTERFACE
  480. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  481. IPropertyStorage * This,
  482. /* [in] */ REFIID riid,
  483. /* [iid_is][out] */ void **ppvObject);
  484. ULONG ( STDMETHODCALLTYPE *AddRef )(
  485. IPropertyStorage * This);
  486. ULONG ( STDMETHODCALLTYPE *Release )(
  487. IPropertyStorage * This);
  488. HRESULT ( STDMETHODCALLTYPE *ReadMultiple )(
  489. IPropertyStorage * This,
  490. /* [in] */ ULONG cpspec,
  491. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  492. /* [size_is][out] */ PROPVARIANT rgpropvar[ ]);
  493. HRESULT ( STDMETHODCALLTYPE *WriteMultiple )(
  494. IPropertyStorage * This,
  495. /* [in] */ ULONG cpspec,
  496. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  497. /* [size_is][in] */ const PROPVARIANT rgpropvar[ ],
  498. /* [in] */ PROPID propidNameFirst);
  499. HRESULT ( STDMETHODCALLTYPE *DeleteMultiple )(
  500. IPropertyStorage * This,
  501. /* [in] */ ULONG cpspec,
  502. /* [size_is][in] */ const PROPSPEC rgpspec[ ]);
  503. HRESULT ( STDMETHODCALLTYPE *ReadPropertyNames )(
  504. IPropertyStorage * This,
  505. /* [in] */ ULONG cpropid,
  506. /* [size_is][in] */ const PROPID rgpropid[ ],
  507. /* [size_is][out] */ LPOLESTR rglpwstrName[ ]);
  508. HRESULT ( STDMETHODCALLTYPE *WritePropertyNames )(
  509. IPropertyStorage * This,
  510. /* [in] */ ULONG cpropid,
  511. /* [size_is][in] */ const PROPID rgpropid[ ],
  512. /* [size_is][in] */ const LPOLESTR rglpwstrName[ ]);
  513. HRESULT ( STDMETHODCALLTYPE *DeletePropertyNames )(
  514. IPropertyStorage * This,
  515. /* [in] */ ULONG cpropid,
  516. /* [size_is][in] */ const PROPID rgpropid[ ]);
  517. HRESULT ( STDMETHODCALLTYPE *Commit )(
  518. IPropertyStorage * This,
  519. /* [in] */ DWORD grfCommitFlags);
  520. HRESULT ( STDMETHODCALLTYPE *Revert )(
  521. IPropertyStorage * This);
  522. HRESULT ( STDMETHODCALLTYPE *Enum )(
  523. IPropertyStorage * This,
  524. /* [out] */ IEnumSTATPROPSTG **ppenum);
  525. HRESULT ( STDMETHODCALLTYPE *SetTimes )(
  526. IPropertyStorage * This,
  527. /* [in] */ const FILETIME *pctime,
  528. /* [in] */ const FILETIME *patime,
  529. /* [in] */ const FILETIME *pmtime);
  530. HRESULT ( STDMETHODCALLTYPE *SetClass )(
  531. IPropertyStorage * This,
  532. /* [in] */ REFCLSID clsid);
  533. HRESULT ( STDMETHODCALLTYPE *Stat )(
  534. IPropertyStorage * This,
  535. /* [out] */ STATPROPSETSTG *pstatpsstg);
  536. END_INTERFACE
  537. } IPropertyStorageVtbl;
  538. interface IPropertyStorage
  539. {
  540. CONST_VTBL struct IPropertyStorageVtbl *lpVtbl;
  541. };
  542. #ifdef COBJMACROS
  543. #define IPropertyStorage_QueryInterface(This,riid,ppvObject) \
  544. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  545. #define IPropertyStorage_AddRef(This) \
  546. (This)->lpVtbl -> AddRef(This)
  547. #define IPropertyStorage_Release(This) \
  548. (This)->lpVtbl -> Release(This)
  549. #define IPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) \
  550. (This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgpropvar)
  551. #define IPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) \
  552. (This)->lpVtbl -> WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst)
  553. #define IPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) \
  554. (This)->lpVtbl -> DeleteMultiple(This,cpspec,rgpspec)
  555. #define IPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) \
  556. (This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)
  557. #define IPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) \
  558. (This)->lpVtbl -> WritePropertyNames(This,cpropid,rgpropid,rglpwstrName)
  559. #define IPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) \
  560. (This)->lpVtbl -> DeletePropertyNames(This,cpropid,rgpropid)
  561. #define IPropertyStorage_Commit(This,grfCommitFlags) \
  562. (This)->lpVtbl -> Commit(This,grfCommitFlags)
  563. #define IPropertyStorage_Revert(This) \
  564. (This)->lpVtbl -> Revert(This)
  565. #define IPropertyStorage_Enum(This,ppenum) \
  566. (This)->lpVtbl -> Enum(This,ppenum)
  567. #define IPropertyStorage_SetTimes(This,pctime,patime,pmtime) \
  568. (This)->lpVtbl -> SetTimes(This,pctime,patime,pmtime)
  569. #define IPropertyStorage_SetClass(This,clsid) \
  570. (This)->lpVtbl -> SetClass(This,clsid)
  571. #define IPropertyStorage_Stat(This,pstatpsstg) \
  572. (This)->lpVtbl -> Stat(This,pstatpsstg)
  573. #endif /* COBJMACROS */
  574. #endif /* C style interface */
  575. HRESULT STDMETHODCALLTYPE IPropertyStorage_ReadMultiple_Proxy(
  576. IPropertyStorage * This,
  577. /* [in] */ ULONG cpspec,
  578. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  579. /* [size_is][out] */ PROPVARIANT rgpropvar[ ]);
  580. void __RPC_STUB IPropertyStorage_ReadMultiple_Stub(
  581. IRpcStubBuffer *This,
  582. IRpcChannelBuffer *_pRpcChannelBuffer,
  583. PRPC_MESSAGE _pRpcMessage,
  584. DWORD *_pdwStubPhase);
  585. HRESULT STDMETHODCALLTYPE IPropertyStorage_WriteMultiple_Proxy(
  586. IPropertyStorage * This,
  587. /* [in] */ ULONG cpspec,
  588. /* [size_is][in] */ const PROPSPEC rgpspec[ ],
  589. /* [size_is][in] */ const PROPVARIANT rgpropvar[ ],
  590. /* [in] */ PROPID propidNameFirst);
  591. void __RPC_STUB IPropertyStorage_WriteMultiple_Stub(
  592. IRpcStubBuffer *This,
  593. IRpcChannelBuffer *_pRpcChannelBuffer,
  594. PRPC_MESSAGE _pRpcMessage,
  595. DWORD *_pdwStubPhase);
  596. HRESULT STDMETHODCALLTYPE IPropertyStorage_DeleteMultiple_Proxy(
  597. IPropertyStorage * This,
  598. /* [in] */ ULONG cpspec,
  599. /* [size_is][in] */ const PROPSPEC rgpspec[ ]);
  600. void __RPC_STUB IPropertyStorage_DeleteMultiple_Stub(
  601. IRpcStubBuffer *This,
  602. IRpcChannelBuffer *_pRpcChannelBuffer,
  603. PRPC_MESSAGE _pRpcMessage,
  604. DWORD *_pdwStubPhase);
  605. HRESULT STDMETHODCALLTYPE IPropertyStorage_ReadPropertyNames_Proxy(
  606. IPropertyStorage * This,
  607. /* [in] */ ULONG cpropid,
  608. /* [size_is][in] */ const PROPID rgpropid[ ],
  609. /* [size_is][out] */ LPOLESTR rglpwstrName[ ]);
  610. void __RPC_STUB IPropertyStorage_ReadPropertyNames_Stub(
  611. IRpcStubBuffer *This,
  612. IRpcChannelBuffer *_pRpcChannelBuffer,
  613. PRPC_MESSAGE _pRpcMessage,
  614. DWORD *_pdwStubPhase);
  615. HRESULT STDMETHODCALLTYPE IPropertyStorage_WritePropertyNames_Proxy(
  616. IPropertyStorage * This,
  617. /* [in] */ ULONG cpropid,
  618. /* [size_is][in] */ const PROPID rgpropid[ ],
  619. /* [size_is][in] */ const LPOLESTR rglpwstrName[ ]);
  620. void __RPC_STUB IPropertyStorage_WritePropertyNames_Stub(
  621. IRpcStubBuffer *This,
  622. IRpcChannelBuffer *_pRpcChannelBuffer,
  623. PRPC_MESSAGE _pRpcMessage,
  624. DWORD *_pdwStubPhase);
  625. HRESULT STDMETHODCALLTYPE IPropertyStorage_DeletePropertyNames_Proxy(
  626. IPropertyStorage * This,
  627. /* [in] */ ULONG cpropid,
  628. /* [size_is][in] */ const PROPID rgpropid[ ]);
  629. void __RPC_STUB IPropertyStorage_DeletePropertyNames_Stub(
  630. IRpcStubBuffer *This,
  631. IRpcChannelBuffer *_pRpcChannelBuffer,
  632. PRPC_MESSAGE _pRpcMessage,
  633. DWORD *_pdwStubPhase);
  634. HRESULT STDMETHODCALLTYPE IPropertyStorage_Commit_Proxy(
  635. IPropertyStorage * This,
  636. /* [in] */ DWORD grfCommitFlags);
  637. void __RPC_STUB IPropertyStorage_Commit_Stub(
  638. IRpcStubBuffer *This,
  639. IRpcChannelBuffer *_pRpcChannelBuffer,
  640. PRPC_MESSAGE _pRpcMessage,
  641. DWORD *_pdwStubPhase);
  642. HRESULT STDMETHODCALLTYPE IPropertyStorage_Revert_Proxy(
  643. IPropertyStorage * This);
  644. void __RPC_STUB IPropertyStorage_Revert_Stub(
  645. IRpcStubBuffer *This,
  646. IRpcChannelBuffer *_pRpcChannelBuffer,
  647. PRPC_MESSAGE _pRpcMessage,
  648. DWORD *_pdwStubPhase);
  649. HRESULT STDMETHODCALLTYPE IPropertyStorage_Enum_Proxy(
  650. IPropertyStorage * This,
  651. /* [out] */ IEnumSTATPROPSTG **ppenum);
  652. void __RPC_STUB IPropertyStorage_Enum_Stub(
  653. IRpcStubBuffer *This,
  654. IRpcChannelBuffer *_pRpcChannelBuffer,
  655. PRPC_MESSAGE _pRpcMessage,
  656. DWORD *_pdwStubPhase);
  657. HRESULT STDMETHODCALLTYPE IPropertyStorage_SetTimes_Proxy(
  658. IPropertyStorage * This,
  659. /* [in] */ const FILETIME *pctime,
  660. /* [in] */ const FILETIME *patime,
  661. /* [in] */ const FILETIME *pmtime);
  662. void __RPC_STUB IPropertyStorage_SetTimes_Stub(
  663. IRpcStubBuffer *This,
  664. IRpcChannelBuffer *_pRpcChannelBuffer,
  665. PRPC_MESSAGE _pRpcMessage,
  666. DWORD *_pdwStubPhase);
  667. HRESULT STDMETHODCALLTYPE IPropertyStorage_SetClass_Proxy(
  668. IPropertyStorage * This,
  669. /* [in] */ REFCLSID clsid);
  670. void __RPC_STUB IPropertyStorage_SetClass_Stub(
  671. IRpcStubBuffer *This,
  672. IRpcChannelBuffer *_pRpcChannelBuffer,
  673. PRPC_MESSAGE _pRpcMessage,
  674. DWORD *_pdwStubPhase);
  675. HRESULT STDMETHODCALLTYPE IPropertyStorage_Stat_Proxy(
  676. IPropertyStorage * This,
  677. /* [out] */ STATPROPSETSTG *pstatpsstg);
  678. void __RPC_STUB IPropertyStorage_Stat_Stub(
  679. IRpcStubBuffer *This,
  680. IRpcChannelBuffer *_pRpcChannelBuffer,
  681. PRPC_MESSAGE _pRpcMessage,
  682. DWORD *_pdwStubPhase);
  683. #endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
  684. #ifndef __IPropertySetStorage_INTERFACE_DEFINED__
  685. #define __IPropertySetStorage_INTERFACE_DEFINED__
  686. /* interface IPropertySetStorage */
  687. /* [unique][uuid][object] */
  688. typedef /* [unique] */ IPropertySetStorage *LPPROPERTYSETSTORAGE;
  689. EXTERN_C const IID IID_IPropertySetStorage;
  690. #if defined(__cplusplus) && !defined(CINTERFACE)
  691. MIDL_INTERFACE("0000013A-0000-0000-C000-000000000046")
  692. IPropertySetStorage : public IUnknown
  693. {
  694. public:
  695. virtual HRESULT STDMETHODCALLTYPE Create(
  696. /* [in] */ REFFMTID rfmtid,
  697. /* [unique][in] */ const CLSID *pclsid,
  698. /* [in] */ DWORD grfFlags,
  699. /* [in] */ DWORD grfMode,
  700. /* [out] */ IPropertyStorage **ppprstg) = 0;
  701. virtual HRESULT STDMETHODCALLTYPE Open(
  702. /* [in] */ REFFMTID rfmtid,
  703. /* [in] */ DWORD grfMode,
  704. /* [out] */ IPropertyStorage **ppprstg) = 0;
  705. virtual HRESULT STDMETHODCALLTYPE Delete(
  706. /* [in] */ REFFMTID rfmtid) = 0;
  707. virtual HRESULT STDMETHODCALLTYPE Enum(
  708. /* [out] */ IEnumSTATPROPSETSTG **ppenum) = 0;
  709. };
  710. #else /* C style interface */
  711. typedef struct IPropertySetStorageVtbl
  712. {
  713. BEGIN_INTERFACE
  714. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  715. IPropertySetStorage * This,
  716. /* [in] */ REFIID riid,
  717. /* [iid_is][out] */ void **ppvObject);
  718. ULONG ( STDMETHODCALLTYPE *AddRef )(
  719. IPropertySetStorage * This);
  720. ULONG ( STDMETHODCALLTYPE *Release )(
  721. IPropertySetStorage * This);
  722. HRESULT ( STDMETHODCALLTYPE *Create )(
  723. IPropertySetStorage * This,
  724. /* [in] */ REFFMTID rfmtid,
  725. /* [unique][in] */ const CLSID *pclsid,
  726. /* [in] */ DWORD grfFlags,
  727. /* [in] */ DWORD grfMode,
  728. /* [out] */ IPropertyStorage **ppprstg);
  729. HRESULT ( STDMETHODCALLTYPE *Open )(
  730. IPropertySetStorage * This,
  731. /* [in] */ REFFMTID rfmtid,
  732. /* [in] */ DWORD grfMode,
  733. /* [out] */ IPropertyStorage **ppprstg);
  734. HRESULT ( STDMETHODCALLTYPE *Delete )(
  735. IPropertySetStorage * This,
  736. /* [in] */ REFFMTID rfmtid);
  737. HRESULT ( STDMETHODCALLTYPE *Enum )(
  738. IPropertySetStorage * This,
  739. /* [out] */ IEnumSTATPROPSETSTG **ppenum);
  740. END_INTERFACE
  741. } IPropertySetStorageVtbl;
  742. interface IPropertySetStorage
  743. {
  744. CONST_VTBL struct IPropertySetStorageVtbl *lpVtbl;
  745. };
  746. #ifdef COBJMACROS
  747. #define IPropertySetStorage_QueryInterface(This,riid,ppvObject) \
  748. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  749. #define IPropertySetStorage_AddRef(This) \
  750. (This)->lpVtbl -> AddRef(This)
  751. #define IPropertySetStorage_Release(This) \
  752. (This)->lpVtbl -> Release(This)
  753. #define IPropertySetStorage_Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg) \
  754. (This)->lpVtbl -> Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg)
  755. #define IPropertySetStorage_Open(This,rfmtid,grfMode,ppprstg) \
  756. (This)->lpVtbl -> Open(This,rfmtid,grfMode,ppprstg)
  757. #define IPropertySetStorage_Delete(This,rfmtid) \
  758. (This)->lpVtbl -> Delete(This,rfmtid)
  759. #define IPropertySetStorage_Enum(This,ppenum) \
  760. (This)->lpVtbl -> Enum(This,ppenum)
  761. #endif /* COBJMACROS */
  762. #endif /* C style interface */
  763. HRESULT STDMETHODCALLTYPE IPropertySetStorage_Create_Proxy(
  764. IPropertySetStorage * This,
  765. /* [in] */ REFFMTID rfmtid,
  766. /* [unique][in] */ const CLSID *pclsid,
  767. /* [in] */ DWORD grfFlags,
  768. /* [in] */ DWORD grfMode,
  769. /* [out] */ IPropertyStorage **ppprstg);
  770. void __RPC_STUB IPropertySetStorage_Create_Stub(
  771. IRpcStubBuffer *This,
  772. IRpcChannelBuffer *_pRpcChannelBuffer,
  773. PRPC_MESSAGE _pRpcMessage,
  774. DWORD *_pdwStubPhase);
  775. HRESULT STDMETHODCALLTYPE IPropertySetStorage_Open_Proxy(
  776. IPropertySetStorage * This,
  777. /* [in] */ REFFMTID rfmtid,
  778. /* [in] */ DWORD grfMode,
  779. /* [out] */ IPropertyStorage **ppprstg);
  780. void __RPC_STUB IPropertySetStorage_Open_Stub(
  781. IRpcStubBuffer *This,
  782. IRpcChannelBuffer *_pRpcChannelBuffer,
  783. PRPC_MESSAGE _pRpcMessage,
  784. DWORD *_pdwStubPhase);
  785. HRESULT STDMETHODCALLTYPE IPropertySetStorage_Delete_Proxy(
  786. IPropertySetStorage * This,
  787. /* [in] */ REFFMTID rfmtid);
  788. void __RPC_STUB IPropertySetStorage_Delete_Stub(
  789. IRpcStubBuffer *This,
  790. IRpcChannelBuffer *_pRpcChannelBuffer,
  791. PRPC_MESSAGE _pRpcMessage,
  792. DWORD *_pdwStubPhase);
  793. HRESULT STDMETHODCALLTYPE IPropertySetStorage_Enum_Proxy(
  794. IPropertySetStorage * This,
  795. /* [out] */ IEnumSTATPROPSETSTG **ppenum);
  796. void __RPC_STUB IPropertySetStorage_Enum_Stub(
  797. IRpcStubBuffer *This,
  798. IRpcChannelBuffer *_pRpcChannelBuffer,
  799. PRPC_MESSAGE _pRpcMessage,
  800. DWORD *_pdwStubPhase);
  801. #endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */
  802. #ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
  803. #define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
  804. /* interface IEnumSTATPROPSTG */
  805. /* [unique][uuid][object] */
  806. typedef /* [unique] */ IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
  807. EXTERN_C const IID IID_IEnumSTATPROPSTG;
  808. #if defined(__cplusplus) && !defined(CINTERFACE)
  809. MIDL_INTERFACE("00000139-0000-0000-C000-000000000046")
  810. IEnumSTATPROPSTG : public IUnknown
  811. {
  812. public:
  813. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
  814. /* [in] */ ULONG celt,
  815. /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
  816. /* [out] */ ULONG *pceltFetched) = 0;
  817. virtual HRESULT STDMETHODCALLTYPE Skip(
  818. /* [in] */ ULONG celt) = 0;
  819. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  820. virtual HRESULT STDMETHODCALLTYPE Clone(
  821. /* [out] */ IEnumSTATPROPSTG **ppenum) = 0;
  822. };
  823. #else /* C style interface */
  824. typedef struct IEnumSTATPROPSTGVtbl
  825. {
  826. BEGIN_INTERFACE
  827. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  828. IEnumSTATPROPSTG * This,
  829. /* [in] */ REFIID riid,
  830. /* [iid_is][out] */ void **ppvObject);
  831. ULONG ( STDMETHODCALLTYPE *AddRef )(
  832. IEnumSTATPROPSTG * This);
  833. ULONG ( STDMETHODCALLTYPE *Release )(
  834. IEnumSTATPROPSTG * This);
  835. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
  836. IEnumSTATPROPSTG * This,
  837. /* [in] */ ULONG celt,
  838. /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
  839. /* [out] */ ULONG *pceltFetched);
  840. HRESULT ( STDMETHODCALLTYPE *Skip )(
  841. IEnumSTATPROPSTG * This,
  842. /* [in] */ ULONG celt);
  843. HRESULT ( STDMETHODCALLTYPE *Reset )(
  844. IEnumSTATPROPSTG * This);
  845. HRESULT ( STDMETHODCALLTYPE *Clone )(
  846. IEnumSTATPROPSTG * This,
  847. /* [out] */ IEnumSTATPROPSTG **ppenum);
  848. END_INTERFACE
  849. } IEnumSTATPROPSTGVtbl;
  850. interface IEnumSTATPROPSTG
  851. {
  852. CONST_VTBL struct IEnumSTATPROPSTGVtbl *lpVtbl;
  853. };
  854. #ifdef COBJMACROS
  855. #define IEnumSTATPROPSTG_QueryInterface(This,riid,ppvObject) \
  856. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  857. #define IEnumSTATPROPSTG_AddRef(This) \
  858. (This)->lpVtbl -> AddRef(This)
  859. #define IEnumSTATPROPSTG_Release(This) \
  860. (This)->lpVtbl -> Release(This)
  861. #define IEnumSTATPROPSTG_Next(This,celt,rgelt,pceltFetched) \
  862. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  863. #define IEnumSTATPROPSTG_Skip(This,celt) \
  864. (This)->lpVtbl -> Skip(This,celt)
  865. #define IEnumSTATPROPSTG_Reset(This) \
  866. (This)->lpVtbl -> Reset(This)
  867. #define IEnumSTATPROPSTG_Clone(This,ppenum) \
  868. (This)->lpVtbl -> Clone(This,ppenum)
  869. #endif /* COBJMACROS */
  870. #endif /* C style interface */
  871. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_RemoteNext_Proxy(
  872. IEnumSTATPROPSTG * This,
  873. /* [in] */ ULONG celt,
  874. /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
  875. /* [out] */ ULONG *pceltFetched);
  876. void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
  877. IRpcStubBuffer *This,
  878. IRpcChannelBuffer *_pRpcChannelBuffer,
  879. PRPC_MESSAGE _pRpcMessage,
  880. DWORD *_pdwStubPhase);
  881. HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Skip_Proxy(
  882. IEnumSTATPROPSTG * This,
  883. /* [in] */ ULONG celt);
  884. void __RPC_STUB IEnumSTATPROPSTG_Skip_Stub(
  885. IRpcStubBuffer *This,
  886. IRpcChannelBuffer *_pRpcChannelBuffer,
  887. PRPC_MESSAGE _pRpcMessage,
  888. DWORD *_pdwStubPhase);
  889. HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Reset_Proxy(
  890. IEnumSTATPROPSTG * This);
  891. void __RPC_STUB IEnumSTATPROPSTG_Reset_Stub(
  892. IRpcStubBuffer *This,
  893. IRpcChannelBuffer *_pRpcChannelBuffer,
  894. PRPC_MESSAGE _pRpcMessage,
  895. DWORD *_pdwStubPhase);
  896. HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Clone_Proxy(
  897. IEnumSTATPROPSTG * This,
  898. /* [out] */ IEnumSTATPROPSTG **ppenum);
  899. void __RPC_STUB IEnumSTATPROPSTG_Clone_Stub(
  900. IRpcStubBuffer *This,
  901. IRpcChannelBuffer *_pRpcChannelBuffer,
  902. PRPC_MESSAGE _pRpcMessage,
  903. DWORD *_pdwStubPhase);
  904. #endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
  905. #ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
  906. #define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
  907. /* interface IEnumSTATPROPSETSTG */
  908. /* [unique][uuid][object] */
  909. typedef /* [unique] */ IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
  910. EXTERN_C const IID IID_IEnumSTATPROPSETSTG;
  911. #if defined(__cplusplus) && !defined(CINTERFACE)
  912. MIDL_INTERFACE("0000013B-0000-0000-C000-000000000046")
  913. IEnumSTATPROPSETSTG : public IUnknown
  914. {
  915. public:
  916. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
  917. /* [in] */ ULONG celt,
  918. /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
  919. /* [out] */ ULONG *pceltFetched) = 0;
  920. virtual HRESULT STDMETHODCALLTYPE Skip(
  921. /* [in] */ ULONG celt) = 0;
  922. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  923. virtual HRESULT STDMETHODCALLTYPE Clone(
  924. /* [out] */ IEnumSTATPROPSETSTG **ppenum) = 0;
  925. };
  926. #else /* C style interface */
  927. typedef struct IEnumSTATPROPSETSTGVtbl
  928. {
  929. BEGIN_INTERFACE
  930. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  931. IEnumSTATPROPSETSTG * This,
  932. /* [in] */ REFIID riid,
  933. /* [iid_is][out] */ void **ppvObject);
  934. ULONG ( STDMETHODCALLTYPE *AddRef )(
  935. IEnumSTATPROPSETSTG * This);
  936. ULONG ( STDMETHODCALLTYPE *Release )(
  937. IEnumSTATPROPSETSTG * This);
  938. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
  939. IEnumSTATPROPSETSTG * This,
  940. /* [in] */ ULONG celt,
  941. /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
  942. /* [out] */ ULONG *pceltFetched);
  943. HRESULT ( STDMETHODCALLTYPE *Skip )(
  944. IEnumSTATPROPSETSTG * This,
  945. /* [in] */ ULONG celt);
  946. HRESULT ( STDMETHODCALLTYPE *Reset )(
  947. IEnumSTATPROPSETSTG * This);
  948. HRESULT ( STDMETHODCALLTYPE *Clone )(
  949. IEnumSTATPROPSETSTG * This,
  950. /* [out] */ IEnumSTATPROPSETSTG **ppenum);
  951. END_INTERFACE
  952. } IEnumSTATPROPSETSTGVtbl;
  953. interface IEnumSTATPROPSETSTG
  954. {
  955. CONST_VTBL struct IEnumSTATPROPSETSTGVtbl *lpVtbl;
  956. };
  957. #ifdef COBJMACROS
  958. #define IEnumSTATPROPSETSTG_QueryInterface(This,riid,ppvObject) \
  959. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  960. #define IEnumSTATPROPSETSTG_AddRef(This) \
  961. (This)->lpVtbl -> AddRef(This)
  962. #define IEnumSTATPROPSETSTG_Release(This) \
  963. (This)->lpVtbl -> Release(This)
  964. #define IEnumSTATPROPSETSTG_Next(This,celt,rgelt,pceltFetched) \
  965. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  966. #define IEnumSTATPROPSETSTG_Skip(This,celt) \
  967. (This)->lpVtbl -> Skip(This,celt)
  968. #define IEnumSTATPROPSETSTG_Reset(This) \
  969. (This)->lpVtbl -> Reset(This)
  970. #define IEnumSTATPROPSETSTG_Clone(This,ppenum) \
  971. (This)->lpVtbl -> Clone(This,ppenum)
  972. #endif /* COBJMACROS */
  973. #endif /* C style interface */
  974. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_RemoteNext_Proxy(
  975. IEnumSTATPROPSETSTG * This,
  976. /* [in] */ ULONG celt,
  977. /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
  978. /* [out] */ ULONG *pceltFetched);
  979. void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
  980. IRpcStubBuffer *This,
  981. IRpcChannelBuffer *_pRpcChannelBuffer,
  982. PRPC_MESSAGE _pRpcMessage,
  983. DWORD *_pdwStubPhase);
  984. HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Skip_Proxy(
  985. IEnumSTATPROPSETSTG * This,
  986. /* [in] */ ULONG celt);
  987. void __RPC_STUB IEnumSTATPROPSETSTG_Skip_Stub(
  988. IRpcStubBuffer *This,
  989. IRpcChannelBuffer *_pRpcChannelBuffer,
  990. PRPC_MESSAGE _pRpcMessage,
  991. DWORD *_pdwStubPhase);
  992. HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Reset_Proxy(
  993. IEnumSTATPROPSETSTG * This);
  994. void __RPC_STUB IEnumSTATPROPSETSTG_Reset_Stub(
  995. IRpcStubBuffer *This,
  996. IRpcChannelBuffer *_pRpcChannelBuffer,
  997. PRPC_MESSAGE _pRpcMessage,
  998. DWORD *_pdwStubPhase);
  999. HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Clone_Proxy(
  1000. IEnumSTATPROPSETSTG * This,
  1001. /* [out] */ IEnumSTATPROPSETSTG **ppenum);
  1002. void __RPC_STUB IEnumSTATPROPSETSTG_Clone_Stub(
  1003. IRpcStubBuffer *This,
  1004. IRpcChannelBuffer *_pRpcChannelBuffer,
  1005. PRPC_MESSAGE _pRpcMessage,
  1006. DWORD *_pdwStubPhase);
  1007. #endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
  1008. /* interface __MIDL_itf_propidl_0115 */
  1009. /* [local] */
  1010. typedef /* [unique] */ IPropertyStorage *LPPROPERTYSTORAGE;
  1011. WINOLEAPI PropVariantCopy ( PROPVARIANT * pvarDest, const PROPVARIANT * pvarSrc );
  1012. WINOLEAPI PropVariantClear ( PROPVARIANT * pvar );
  1013. WINOLEAPI FreePropVariantArray ( ULONG cVariants, PROPVARIANT * rgvars );
  1014. #define _PROPVARIANTINIT_DEFINED_
  1015. # ifdef __cplusplus
  1016. inline void PropVariantInit ( PROPVARIANT * pvar )
  1017. {
  1018. memset ( pvar, 0, sizeof(PROPVARIANT) );
  1019. }
  1020. # else
  1021. # define PropVariantInit(pvar) memset ( (pvar), 0, sizeof(PROPVARIANT) )
  1022. # endif
  1023. #ifndef _STGCREATEPROPSTG_DEFINED_
  1024. WINOLEAPI StgCreatePropStg( IUnknown* pUnk, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
  1025. WINOLEAPI StgOpenPropStg( IUnknown* pUnk, REFFMTID fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
  1026. WINOLEAPI StgCreatePropSetStg( IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);
  1027. #define CCH_MAX_PROPSTG_NAME 31
  1028. WINOLEAPI FmtIdToPropStgName( const FMTID *pfmtid, LPOLESTR oszName );
  1029. WINOLEAPI PropStgNameToFmtId( const LPOLESTR oszName, FMTID *pfmtid );
  1030. #endif
  1031. #if _MSC_VER >= 1200
  1032. #pragma warning(pop)
  1033. #else
  1034. #pragma warning(default:4201) /* Nameless struct/union */
  1035. #pragma warning(default:4237) /* keywords bool, true, false, etc.. */
  1036. #endif
  1037. extern RPC_IF_HANDLE __MIDL_itf_propidl_0115_v0_0_c_ifspec;
  1038. extern RPC_IF_HANDLE __MIDL_itf_propidl_0115_v0_0_s_ifspec;
  1039. /* Additional Prototypes for ALL interfaces */
  1040. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  1041. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  1042. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  1043. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  1044. unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
  1045. unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
  1046. unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
  1047. void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
  1048. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Proxy(
  1049. IEnumSTATPROPSTG * This,
  1050. /* [in] */ ULONG celt,
  1051. /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
  1052. /* [out] */ ULONG *pceltFetched);
  1053. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Stub(
  1054. IEnumSTATPROPSTG * This,
  1055. /* [in] */ ULONG celt,
  1056. /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
  1057. /* [out] */ ULONG *pceltFetched);
  1058. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Proxy(
  1059. IEnumSTATPROPSETSTG * This,
  1060. /* [in] */ ULONG celt,
  1061. /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
  1062. /* [out] */ ULONG *pceltFetched);
  1063. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Stub(
  1064. IEnumSTATPROPSETSTG * This,
  1065. /* [in] */ ULONG celt,
  1066. /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
  1067. /* [out] */ ULONG *pceltFetched);
  1068. /* end of Additional Prototypes */
  1069. #ifdef __cplusplus
  1070. }
  1071. #endif
  1072. #endif