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.

1761 lines
51 KiB

  1. /*++
  2. Copyright (c) 1996-1999 Microsoft Corporation
  3. Module Name:
  4. pstore.h
  5. Abstract:
  6. This module defines the Protected Storage COM interface and associated
  7. data structures.
  8. Author:
  9. Scott Field (sfield) 13-Mar-97
  10. --*/
  11. #ifndef __PSTORE_H__
  12. #define __PSTORE_H__
  13. #if _MSC_VER > 1000
  14. #pragma once
  15. #endif
  16. /*
  17. Typedefs, values
  18. */
  19. // provider flags
  20. // provider capabilities
  21. typedef DWORD PST_PROVIDERCAPABILITIES;
  22. #define PST_PC_PFX 0x00000001
  23. #define PST_PC_HARDWARE 0x00000002
  24. #define PST_PC_SMARTCARD 0x00000004
  25. #define PST_PC_PCMCIA 0x00000008
  26. #define PST_PC_MULTIPLE_REPOSITORIES 0x00000010
  27. #define PST_PC_ROAMABLE 0x00000020
  28. // NYI (not yet implemented)
  29. typedef DWORD PST_REPOSITORYCAPABILITIES;
  30. #define PST_RC_REMOVABLE 0x80000000
  31. // provider storage area
  32. typedef DWORD PST_KEY;
  33. #define PST_KEY_CURRENT_USER 0x00000000
  34. #define PST_KEY_LOCAL_MACHINE 0x00000001
  35. /*
  36. dwDefaultConfirmationStyle flags
  37. */
  38. //
  39. // allows user to choose confirmation style
  40. //
  41. #define PST_CF_DEFAULT 0x00000000
  42. //
  43. // forces silent item creation
  44. //
  45. #define PST_CF_NONE 0x00000001
  46. /*
  47. dwPromptFlags
  48. */
  49. //
  50. // app forces confirmation to be shown
  51. //
  52. #define PST_PF_ALWAYS_SHOW 0x00000001
  53. //
  54. // RSABase rqmt: determine if item has ui attached
  55. //
  56. #define PST_PF_NEVER_SHOW 0x00000002
  57. /*
  58. dwFlags values
  59. */
  60. //
  61. // Allows caller to specify creation not overwrite
  62. // of item during WriteItem call
  63. //
  64. #define PST_NO_OVERWRITE 0x00000002
  65. //
  66. // specifies insecure data stream to be written/read
  67. // there is no protection or guarantees for this data
  68. // flag only valid during item read/write calls
  69. // default: item calls are secure
  70. //
  71. #define PST_UNRESTRICTED_ITEMDATA 0x00000004
  72. //
  73. // on ReadItem call
  74. // return value on success without UI on item is PST_E_OK
  75. // return value on success with UI on item is PST_E_ITEM_EXISTS
  76. // return value on failure is a different error code
  77. //
  78. #define PST_PROMPT_QUERY 0x00000008
  79. //
  80. // on ReadItem, DeleteItem, for data migration purposes:
  81. // Avoid displaying UI on ReadItem unless a custom password is required (highsecurity).
  82. // Avoid displaying UI on DeleteItem, period.
  83. //
  84. #define PST_NO_UI_MIGRATION 0x00000010
  85. /*
  86. Security masks, rule modifiers
  87. */
  88. //
  89. // models access after NT access mask
  90. //
  91. // read, write
  92. typedef DWORD PST_ACCESSMODE;
  93. #define PST_READ 0x0001
  94. #define PST_WRITE 0x0002
  95. // PST_ACCESSCLAUSETYPE
  96. // memhash, diskhash, authenticode, etc
  97. typedef DWORD PST_ACCESSCLAUSETYPE;
  98. //
  99. // pbClauseData points to PST_AUTHENTICODEDATA structure.
  100. //
  101. #define PST_AUTHENTICODE 1
  102. //
  103. // pbClauseData points to PST_BINARYCHECKDATA structure.
  104. //
  105. #define PST_BINARY_CHECK 2
  106. //
  107. // pbClauseData points to valid Windows NT security descriptor.
  108. // note that performance is improved on Set operations if the security
  109. // descriptor is in self-relative format, with valid owner and group Sids
  110. // (non-NULL).
  111. //
  112. #define PST_SECURITY_DESCRIPTOR 4
  113. //
  114. // pbClauseData is in self-relative format
  115. // (for internal use only)
  116. //
  117. #define PST_SELF_RELATIVE_CLAUSE 0x80000000L
  118. //
  119. // currently access clause modifiers - NOT to be or'd together
  120. //
  121. //
  122. // specified image is the immediate caller, and is an application (.exe)
  123. //
  124. #define PST_AC_SINGLE_CALLER 0
  125. //
  126. // specified image is not necessary the immediate caller, and is an
  127. // application (.exe)
  128. //
  129. #define PST_AC_TOP_LEVEL_CALLER 1
  130. //
  131. // specified image is the immediate caller. May be
  132. // an application (.exe) or a .dll
  133. //
  134. #define PST_AC_IMMEDIATE_CALLER 2
  135. /*
  136. Provider Parameters
  137. */
  138. //
  139. // flush the internal cache of passwords -- temporary?
  140. //
  141. #define PST_PP_FLUSH_PW_CACHE 0x1
  142. /*
  143. Provider Defns
  144. */
  145. //
  146. // Microsoft Base Provider (MS_BASE_PSTPROVIDER...)
  147. //
  148. #define MS_BASE_PSTPROVIDER_NAME L"System Protected Storage"
  149. // {8A078C30-3755-11d0-A0BD-00AA0061426A}
  150. #define MS_BASE_PSTPROVIDER_ID { 0x8a078c30, 0x3755, 0x11d0, { 0xa0, 0xbd, 0x0, 0xaa, 0x0, 0x61, 0x42, 0x6a } }
  151. #define MS_BASE_PSTPROVIDER_SZID L"8A078C30-3755-11d0-A0BD-00AA0061426A"
  152. //
  153. // Microsoft PFX Provider (MS_PFX_PSTPROVIDER...)
  154. //
  155. #define MS_PFX_PSTPROVIDER_NAME L"PFX Storage Provider"
  156. // {3ca94f30-7ac1-11d0-8c42-00c04fc299eb}
  157. #define MS_PFX_PSTPROVIDER_ID { 0x3ca94f30, 0x7ac1, 0x11d0, {0x8c, 0x42, 0x00, 0xc0, 0x4f, 0xc2, 0x99, 0xeb} }
  158. #define MS_PFX_PSTPROVIDER_SZID L"3ca94f30-7ac1-11d0-8c42-00c04fc299eb"
  159. /*
  160. Globally registered Type/Subtype guid/name pairs
  161. */
  162. #define PST_CONFIGDATA_TYPE_STRING L"Configuration Data"
  163. // 8ec99652-8909-11d0-8c4d-00c04fc297eb
  164. #define PST_CONFIGDATA_TYPE_GUID \
  165. { 0x8ec99652, \
  166. 0x8909, \
  167. 0x11d0, \
  168. {0x8c, 0x4d, 0x00, 0xc0, 0x4f, 0xc2, 0x97, 0xeb} \
  169. }
  170. #define PST_PROTECTEDSTORAGE_SUBTYPE_STRING L"Protected Storage"
  171. // d3121b8e-8a7d-11d0-8c4f-00c04fc297eb
  172. #define PST_PROTECTEDSTORAGE_SUBTYPE_GUID \
  173. { 0xd3121b8e, \
  174. 0x8a7d, \
  175. 0x11d0, \
  176. {0x8c, 0x4f, 0x00, 0xc0, 0x4f, 0xc2, 0x97, 0xeb} \
  177. }
  178. #define PST_PSTORE_PROVIDERS_SUBTYPE_STRING L"Protected Storage Provider List"
  179. // 8ed17a64-91d0-11d0-8c43-00c04fc2c621
  180. #define PST_PSTORE_PROVIDERS_SUBTYPE_GUID \
  181. { \
  182. 0x8ed17a64, \
  183. 0x91d0, \
  184. 0x11d0, \
  185. {0x8c, 0x43, 0x00, 0xc0, 0x4f, 0xc2, 0xc6, 0x21} \
  186. }
  187. //
  188. // error codes
  189. //
  190. #ifndef PST_E_OK
  191. #define PST_E_OK _HRESULT_TYPEDEF_(0x00000000L)
  192. #define PST_E_FAIL _HRESULT_TYPEDEF_(0x800C0001L)
  193. #define PST_E_PROV_DLL_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0002L)
  194. #define PST_E_INVALID_HANDLE _HRESULT_TYPEDEF_(0x800C0003L)
  195. #define PST_E_TYPE_EXISTS _HRESULT_TYPEDEF_(0x800C0004L)
  196. #define PST_E_TYPE_NO_EXISTS _HRESULT_TYPEDEF_(0x800C0005L)
  197. #define PST_E_INVALID_RULESET _HRESULT_TYPEDEF_(0x800C0006L)
  198. #define PST_E_NO_PERMISSIONS _HRESULT_TYPEDEF_(0x800C0007L)
  199. #define PST_E_STORAGE_ERROR _HRESULT_TYPEDEF_(0x800C0008L)
  200. #define PST_E_CALLER_NOT_VERIFIED _HRESULT_TYPEDEF_(0x800C0009L)
  201. #define PST_E_WRONG_PASSWORD _HRESULT_TYPEDEF_(0x800C000AL)
  202. #define PST_E_DISK_IMAGE_MISMATCH _HRESULT_TYPEDEF_(0x800C000BL)
  203. // 000C pending
  204. #define PST_E_UNKNOWN_EXCEPTION _HRESULT_TYPEDEF_(0x800C000DL)
  205. #define PST_E_BAD_FLAGS _HRESULT_TYPEDEF_(0x800C000EL)
  206. #define PST_E_ITEM_EXISTS _HRESULT_TYPEDEF_(0x800C000FL)
  207. #define PST_E_ITEM_NO_EXISTS _HRESULT_TYPEDEF_(0x800C0010L)
  208. #define PST_E_SERVICE_UNAVAILABLE _HRESULT_TYPEDEF_(0x800C0011L)
  209. #define PST_E_NOTEMPTY _HRESULT_TYPEDEF_(0x800C0012L)
  210. #define PST_E_INVALID_STRING _HRESULT_TYPEDEF_(0x800C0013L)
  211. #define PST_E_STATE_INVALID _HRESULT_TYPEDEF_(0x800C0014L)
  212. #define PST_E_NOT_OPEN _HRESULT_TYPEDEF_(0x800C0015L)
  213. #define PST_E_ALREADY_OPEN _HRESULT_TYPEDEF_(0x800C0016L)
  214. #define PST_E_NYI _HRESULT_TYPEDEF_(0x800C0F00L)
  215. #define MIN_PST_ERROR 0x800C0001
  216. #define MAX_PST_ERROR 0x800C0F00
  217. #endif // !PST_OK
  218. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  219. //@@MIDL_FILE_HEADING( )
  220. #include "rpc.h"
  221. #include "rpcndr.h"
  222. #ifdef __cplusplus
  223. extern "C"{
  224. #endif
  225. /* Forward Declarations */
  226. /* header files for imported files */
  227. #include "wtypes.h"
  228. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  229. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  230. /****************************************
  231. * Generated header for interface: __MIDL__intf_0000
  232. * at Wed Apr 23 23:56:10 1997
  233. * using MIDL 3.00.44
  234. ****************************************/
  235. /* [local] */
  236. typedef DWORD PST_PROVIDERCAPABILITIES;
  237. typedef DWORD PST_REPOSITORYCAPABILITIES;
  238. typedef DWORD PST_KEY;
  239. typedef DWORD PST_ACCESSMODE;
  240. typedef DWORD PST_ACCESSCLAUSETYPE;
  241. typedef GUID UUID;
  242. typedef ULARGE_INTEGER PST_PROVIDER_HANDLE;
  243. typedef GUID PST_PROVIDERID;
  244. typedef PST_PROVIDERID __RPC_FAR *PPST_PROVIDERID;
  245. typedef struct _PST_PROVIDERINFO
  246. {
  247. DWORD cbSize;
  248. PST_PROVIDERID ID;
  249. PST_PROVIDERCAPABILITIES Capabilities;
  250. LPWSTR szProviderName;
  251. } PST_PROVIDERINFO;
  252. typedef struct _PST_PROVIDERINFO __RPC_FAR *PPST_PROVIDERINFO;
  253. typedef struct _PST_TYPEINFO
  254. {
  255. DWORD cbSize;
  256. LPWSTR szDisplayName;
  257. } PST_TYPEINFO;
  258. typedef struct _PST_TYPEINFO __RPC_FAR *PPST_TYPEINFO;
  259. typedef struct _PST_PROMPTINFO
  260. {
  261. DWORD cbSize;
  262. DWORD dwPromptFlags;
  263. HWND hwndApp;
  264. LPCWSTR szPrompt;
  265. } PST_PROMPTINFO;
  266. typedef struct _PST_PROMPTINFO __RPC_FAR *PPST_PROMPTINFO;
  267. typedef struct _PST_ACCESSCLAUSE
  268. {
  269. DWORD cbSize;
  270. PST_ACCESSCLAUSETYPE ClauseType;
  271. DWORD cbClauseData;
  272. /* [size_is] */ VOID __RPC_FAR *pbClauseData;
  273. } PST_ACCESSCLAUSE;
  274. typedef struct _PST_ACCESSCLAUSE __RPC_FAR *PPST_ACCESSCLAUSE;
  275. typedef struct _PST_ACCESSRULE
  276. {
  277. DWORD cbSize;
  278. PST_ACCESSMODE AccessModeFlags;
  279. DWORD cClauses;
  280. /* [size_is] */ PST_ACCESSCLAUSE __RPC_FAR *rgClauses;
  281. } PST_ACCESSRULE;
  282. typedef struct _PST_ACCESSRULE __RPC_FAR *PPST_ACCESSRULE;
  283. typedef struct _PST_ACCESSRULESET
  284. {
  285. DWORD cbSize;
  286. DWORD cRules;
  287. /* [size_is] */ PST_ACCESSRULE __RPC_FAR *rgRules;
  288. } PST_ACCESSRULESET;
  289. typedef struct _PST_ACCESSRULESET __RPC_FAR *PPST_ACCESSRULESET;
  290. typedef struct _PST_AUTHENTICODEDATA
  291. {
  292. DWORD cbSize;
  293. DWORD dwModifiers;
  294. LPCWSTR szRootCA;
  295. LPCWSTR szIssuer;
  296. LPCWSTR szPublisher;
  297. LPCWSTR szProgramName;
  298. } PST_AUTHENTICODEDATA;
  299. typedef struct _PST_AUTHENTICODEDATA __RPC_FAR *PPST_AUTHENTICODEDATA;
  300. typedef struct _PST_AUTHENTICODEDATA __RPC_FAR *LPPST_AUTHENTICODEDATA;
  301. typedef struct _PST_BINARYCHECKDATA
  302. {
  303. DWORD cbSize;
  304. DWORD dwModifiers;
  305. LPCWSTR szFilePath;
  306. } PST_BINARYCHECKDATA;
  307. typedef struct _PST_BINARYCHECKDATA __RPC_FAR *PPST_BINARYCHECKDATA;
  308. typedef struct _PST_BINARYCHECKDATA __RPC_FAR *LPPST_BINARYCHECKDATA;
  309. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  310. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  311. /* Additional Prototypes for ALL interfaces */
  312. /* end of Additional Prototypes */
  313. #ifdef __cplusplus
  314. }
  315. #endif
  316. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  317. /* File created by MIDL compiler version 3.00.44 */
  318. /* at Wed Apr 23 23:56:14 1997
  319. */
  320. /* Compiler settings for pstorec.idl:
  321. Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
  322. error checks: none
  323. */
  324. //@@MIDL_FILE_HEADING( )
  325. #ifndef COM_NO_WINDOWS_H
  326. #include "windows.h"
  327. #include "ole2.h"
  328. #endif /*COM_NO_WINDOWS_H*/
  329. #ifdef __cplusplus
  330. extern "C"{
  331. #endif
  332. /* Forward Declarations */
  333. #ifndef __IEnumPStoreItems_FWD_DEFINED__
  334. #define __IEnumPStoreItems_FWD_DEFINED__
  335. typedef interface IEnumPStoreItems IEnumPStoreItems;
  336. #endif /* __IEnumPStoreItems_FWD_DEFINED__ */
  337. #ifndef __IEnumPStoreTypes_FWD_DEFINED__
  338. #define __IEnumPStoreTypes_FWD_DEFINED__
  339. typedef interface IEnumPStoreTypes IEnumPStoreTypes;
  340. #endif /* __IEnumPStoreTypes_FWD_DEFINED__ */
  341. #ifndef __IPStore_FWD_DEFINED__
  342. #define __IPStore_FWD_DEFINED__
  343. typedef interface IPStore IPStore;
  344. #endif /* __IPStore_FWD_DEFINED__ */
  345. #ifndef __IEnumPStoreProviders_FWD_DEFINED__
  346. #define __IEnumPStoreProviders_FWD_DEFINED__
  347. typedef interface IEnumPStoreProviders IEnumPStoreProviders;
  348. #endif /* __IEnumPStoreProviders_FWD_DEFINED__ */
  349. /* header files for imported files */
  350. #include "oaidl.h"
  351. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  352. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  353. #ifndef __IEnumPStoreItems_INTERFACE_DEFINED__
  354. #define __IEnumPStoreItems_INTERFACE_DEFINED__
  355. /****************************************
  356. * Generated header for interface: IEnumPStoreItems
  357. * at Wed Apr 23 23:56:14 1997
  358. * using MIDL 3.00.44
  359. ****************************************/
  360. /* [unique][helpstring][uuid][object] */
  361. EXTERN_C const IID IID_IEnumPStoreItems;
  362. #if defined(__cplusplus) && !defined(CINTERFACE)
  363. interface IEnumPStoreItems : public IUnknown
  364. {
  365. public:
  366. virtual HRESULT STDMETHODCALLTYPE Next(
  367. /* [in] */ DWORD celt,
  368. /* [out] */ LPWSTR __RPC_FAR *rgelt,
  369. /* [out][in] */ DWORD __RPC_FAR *pceltFetched) = 0;
  370. virtual HRESULT STDMETHODCALLTYPE Skip(
  371. /* [in] */ DWORD celt) = 0;
  372. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  373. virtual HRESULT STDMETHODCALLTYPE Clone(
  374. /* [out] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum) = 0;
  375. };
  376. #else /* C style interface */
  377. typedef struct IEnumPStoreItemsVtbl
  378. {
  379. BEGIN_INTERFACE
  380. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  381. IEnumPStoreItems __RPC_FAR * This,
  382. /* [in] */ REFIID riid,
  383. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  384. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  385. IEnumPStoreItems __RPC_FAR * This);
  386. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  387. IEnumPStoreItems __RPC_FAR * This);
  388. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  389. IEnumPStoreItems __RPC_FAR * This,
  390. /* [in] */ DWORD celt,
  391. /* [out] */ LPWSTR __RPC_FAR *rgelt,
  392. /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
  393. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  394. IEnumPStoreItems __RPC_FAR * This,
  395. /* [in] */ DWORD celt);
  396. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  397. IEnumPStoreItems __RPC_FAR * This);
  398. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  399. IEnumPStoreItems __RPC_FAR * This,
  400. /* [out] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum);
  401. END_INTERFACE
  402. } IEnumPStoreItemsVtbl;
  403. interface IEnumPStoreItems
  404. {
  405. CONST_VTBL struct IEnumPStoreItemsVtbl __RPC_FAR *lpVtbl;
  406. };
  407. #ifdef COBJMACROS
  408. #define IEnumPStoreItems_QueryInterface(This,riid,ppvObject) \
  409. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  410. #define IEnumPStoreItems_AddRef(This) \
  411. (This)->lpVtbl -> AddRef(This)
  412. #define IEnumPStoreItems_Release(This) \
  413. (This)->lpVtbl -> Release(This)
  414. #define IEnumPStoreItems_Next(This,celt,rgelt,pceltFetched) \
  415. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  416. #define IEnumPStoreItems_Skip(This,celt) \
  417. (This)->lpVtbl -> Skip(This,celt)
  418. #define IEnumPStoreItems_Reset(This) \
  419. (This)->lpVtbl -> Reset(This)
  420. #define IEnumPStoreItems_Clone(This,ppenum) \
  421. (This)->lpVtbl -> Clone(This,ppenum)
  422. #endif /* COBJMACROS */
  423. #endif /* C style interface */
  424. HRESULT STDMETHODCALLTYPE IEnumPStoreItems_Next_Proxy(
  425. IEnumPStoreItems __RPC_FAR * This,
  426. /* [in] */ DWORD celt,
  427. /* [out] */ LPWSTR __RPC_FAR *rgelt,
  428. /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
  429. void __RPC_STUB IEnumPStoreItems_Next_Stub(
  430. IRpcStubBuffer *This,
  431. IRpcChannelBuffer *_pRpcChannelBuffer,
  432. PRPC_MESSAGE _pRpcMessage,
  433. DWORD *_pdwStubPhase);
  434. HRESULT STDMETHODCALLTYPE IEnumPStoreItems_Skip_Proxy(
  435. IEnumPStoreItems __RPC_FAR * This,
  436. /* [in] */ DWORD celt);
  437. void __RPC_STUB IEnumPStoreItems_Skip_Stub(
  438. IRpcStubBuffer *This,
  439. IRpcChannelBuffer *_pRpcChannelBuffer,
  440. PRPC_MESSAGE _pRpcMessage,
  441. DWORD *_pdwStubPhase);
  442. HRESULT STDMETHODCALLTYPE IEnumPStoreItems_Reset_Proxy(
  443. IEnumPStoreItems __RPC_FAR * This);
  444. void __RPC_STUB IEnumPStoreItems_Reset_Stub(
  445. IRpcStubBuffer *This,
  446. IRpcChannelBuffer *_pRpcChannelBuffer,
  447. PRPC_MESSAGE _pRpcMessage,
  448. DWORD *_pdwStubPhase);
  449. HRESULT STDMETHODCALLTYPE IEnumPStoreItems_Clone_Proxy(
  450. IEnumPStoreItems __RPC_FAR * This,
  451. /* [out] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum);
  452. void __RPC_STUB IEnumPStoreItems_Clone_Stub(
  453. IRpcStubBuffer *This,
  454. IRpcChannelBuffer *_pRpcChannelBuffer,
  455. PRPC_MESSAGE _pRpcMessage,
  456. DWORD *_pdwStubPhase);
  457. #endif /* __IEnumPStoreItems_INTERFACE_DEFINED__ */
  458. #ifndef __IEnumPStoreTypes_INTERFACE_DEFINED__
  459. #define __IEnumPStoreTypes_INTERFACE_DEFINED__
  460. /****************************************
  461. * Generated header for interface: IEnumPStoreTypes
  462. * at Wed Apr 23 23:56:14 1997
  463. * using MIDL 3.00.44
  464. ****************************************/
  465. /* [unique][helpstring][uuid][object] */
  466. EXTERN_C const IID IID_IEnumPStoreTypes;
  467. #if defined(__cplusplus) && !defined(CINTERFACE)
  468. interface IEnumPStoreTypes : public IUnknown
  469. {
  470. public:
  471. virtual HRESULT STDMETHODCALLTYPE Next(
  472. /* [in] */ DWORD celt,
  473. /* [out][size_is] */ GUID __RPC_FAR *rgelt,
  474. /* [out][in] */ DWORD __RPC_FAR *pceltFetched) = 0;
  475. virtual HRESULT STDMETHODCALLTYPE Skip(
  476. /* [in] */ DWORD celt) = 0;
  477. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  478. virtual HRESULT STDMETHODCALLTYPE Clone(
  479. /* [out] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum) = 0;
  480. };
  481. #else /* C style interface */
  482. typedef struct IEnumPStoreTypesVtbl
  483. {
  484. BEGIN_INTERFACE
  485. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  486. IEnumPStoreTypes __RPC_FAR * This,
  487. /* [in] */ REFIID riid,
  488. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  489. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  490. IEnumPStoreTypes __RPC_FAR * This);
  491. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  492. IEnumPStoreTypes __RPC_FAR * This);
  493. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  494. IEnumPStoreTypes __RPC_FAR * This,
  495. /* [in] */ DWORD celt,
  496. /* [out][size_is] */ GUID __RPC_FAR *rgelt,
  497. /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
  498. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  499. IEnumPStoreTypes __RPC_FAR * This,
  500. /* [in] */ DWORD celt);
  501. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  502. IEnumPStoreTypes __RPC_FAR * This);
  503. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  504. IEnumPStoreTypes __RPC_FAR * This,
  505. /* [out] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
  506. END_INTERFACE
  507. } IEnumPStoreTypesVtbl;
  508. interface IEnumPStoreTypes
  509. {
  510. CONST_VTBL struct IEnumPStoreTypesVtbl __RPC_FAR *lpVtbl;
  511. };
  512. #ifdef COBJMACROS
  513. #define IEnumPStoreTypes_QueryInterface(This,riid,ppvObject) \
  514. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  515. #define IEnumPStoreTypes_AddRef(This) \
  516. (This)->lpVtbl -> AddRef(This)
  517. #define IEnumPStoreTypes_Release(This) \
  518. (This)->lpVtbl -> Release(This)
  519. #define IEnumPStoreTypes_Next(This,celt,rgelt,pceltFetched) \
  520. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  521. #define IEnumPStoreTypes_Skip(This,celt) \
  522. (This)->lpVtbl -> Skip(This,celt)
  523. #define IEnumPStoreTypes_Reset(This) \
  524. (This)->lpVtbl -> Reset(This)
  525. #define IEnumPStoreTypes_Clone(This,ppenum) \
  526. (This)->lpVtbl -> Clone(This,ppenum)
  527. #endif /* COBJMACROS */
  528. #endif /* C style interface */
  529. HRESULT STDMETHODCALLTYPE IEnumPStoreTypes_Next_Proxy(
  530. IEnumPStoreTypes __RPC_FAR * This,
  531. /* [in] */ DWORD celt,
  532. /* [out][size_is] */ GUID __RPC_FAR *rgelt,
  533. /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
  534. void __RPC_STUB IEnumPStoreTypes_Next_Stub(
  535. IRpcStubBuffer *This,
  536. IRpcChannelBuffer *_pRpcChannelBuffer,
  537. PRPC_MESSAGE _pRpcMessage,
  538. DWORD *_pdwStubPhase);
  539. HRESULT STDMETHODCALLTYPE IEnumPStoreTypes_Skip_Proxy(
  540. IEnumPStoreTypes __RPC_FAR * This,
  541. /* [in] */ DWORD celt);
  542. void __RPC_STUB IEnumPStoreTypes_Skip_Stub(
  543. IRpcStubBuffer *This,
  544. IRpcChannelBuffer *_pRpcChannelBuffer,
  545. PRPC_MESSAGE _pRpcMessage,
  546. DWORD *_pdwStubPhase);
  547. HRESULT STDMETHODCALLTYPE IEnumPStoreTypes_Reset_Proxy(
  548. IEnumPStoreTypes __RPC_FAR * This);
  549. void __RPC_STUB IEnumPStoreTypes_Reset_Stub(
  550. IRpcStubBuffer *This,
  551. IRpcChannelBuffer *_pRpcChannelBuffer,
  552. PRPC_MESSAGE _pRpcMessage,
  553. DWORD *_pdwStubPhase);
  554. HRESULT STDMETHODCALLTYPE IEnumPStoreTypes_Clone_Proxy(
  555. IEnumPStoreTypes __RPC_FAR * This,
  556. /* [out] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
  557. void __RPC_STUB IEnumPStoreTypes_Clone_Stub(
  558. IRpcStubBuffer *This,
  559. IRpcChannelBuffer *_pRpcChannelBuffer,
  560. PRPC_MESSAGE _pRpcMessage,
  561. DWORD *_pdwStubPhase);
  562. #endif /* __IEnumPStoreTypes_INTERFACE_DEFINED__ */
  563. #ifndef __IPStore_INTERFACE_DEFINED__
  564. #define __IPStore_INTERFACE_DEFINED__
  565. /****************************************
  566. * Generated header for interface: IPStore
  567. * at Wed Apr 23 23:56:14 1997
  568. * using MIDL 3.00.44
  569. ****************************************/
  570. /* [unique][helpstring][uuid][object] */
  571. EXTERN_C const IID IID_IPStore;
  572. #if defined(__cplusplus) && !defined(CINTERFACE)
  573. interface IPStore : public IUnknown
  574. {
  575. public:
  576. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  577. /* [out] */ PPST_PROVIDERINFO __RPC_FAR *ppProperties) = 0;
  578. virtual HRESULT STDMETHODCALLTYPE GetProvParam(
  579. /* [in] */ DWORD dwParam,
  580. /* [out] */ DWORD __RPC_FAR *pcbData,
  581. /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  582. /* [in] */ DWORD dwFlags) = 0;
  583. virtual HRESULT STDMETHODCALLTYPE SetProvParam(
  584. /* [in] */ DWORD dwParam,
  585. /* [in] */ DWORD cbData,
  586. /* [size_is][in] */ BYTE __RPC_FAR *pbData,
  587. /* [in] */ DWORD dwFlags) = 0;
  588. virtual HRESULT STDMETHODCALLTYPE CreateType(
  589. /* [in] */ PST_KEY Key,
  590. /* [in] */ const GUID __RPC_FAR *pType,
  591. /* [in] */ PPST_TYPEINFO pInfo,
  592. /* [in] */ DWORD dwFlags) = 0;
  593. virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
  594. /* [in] */ PST_KEY Key,
  595. /* [in] */ const GUID __RPC_FAR *pType,
  596. /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo,
  597. /* [in] */ DWORD dwFlags) = 0;
  598. virtual HRESULT STDMETHODCALLTYPE DeleteType(
  599. /* [in] */ PST_KEY Key,
  600. /* [in] */ const GUID __RPC_FAR *pType,
  601. /* [in] */ DWORD dwFlags) = 0;
  602. virtual HRESULT STDMETHODCALLTYPE CreateSubtype(
  603. /* [in] */ PST_KEY Key,
  604. /* [in] */ const GUID __RPC_FAR *pType,
  605. /* [in] */ const GUID __RPC_FAR *pSubtype,
  606. /* [in] */ PPST_TYPEINFO pInfo,
  607. /* [in] */ PPST_ACCESSRULESET pRules,
  608. /* [in] */ DWORD dwFlags) = 0;
  609. virtual HRESULT STDMETHODCALLTYPE GetSubtypeInfo(
  610. /* [in] */ PST_KEY Key,
  611. /* [in] */ const GUID __RPC_FAR *pType,
  612. /* [in] */ const GUID __RPC_FAR *pSubtype,
  613. /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo,
  614. /* [in] */ DWORD dwFlags) = 0;
  615. virtual HRESULT STDMETHODCALLTYPE DeleteSubtype(
  616. /* [in] */ PST_KEY Key,
  617. /* [in] */ const GUID __RPC_FAR *pType,
  618. /* [in] */ const GUID __RPC_FAR *pSubtype,
  619. /* [in] */ DWORD dwFlags) = 0;
  620. virtual HRESULT STDMETHODCALLTYPE ReadAccessRuleset(
  621. /* [in] */ PST_KEY Key,
  622. /* [in] */ const GUID __RPC_FAR *pType,
  623. /* [in] */ const GUID __RPC_FAR *pSubtype,
  624. /* [out] */ PPST_ACCESSRULESET __RPC_FAR *ppRules,
  625. /* [in] */ DWORD dwFlags) = 0;
  626. virtual HRESULT STDMETHODCALLTYPE WriteAccessRuleset(
  627. /* [in] */ PST_KEY Key,
  628. /* [in] */ const GUID __RPC_FAR *pType,
  629. /* [in] */ const GUID __RPC_FAR *pSubtype,
  630. /* [in] */ PPST_ACCESSRULESET pRules,
  631. /* [in] */ DWORD dwFlags) = 0;
  632. virtual HRESULT STDMETHODCALLTYPE EnumTypes(
  633. /* [in] */ PST_KEY Key,
  634. /* [in] */ DWORD dwFlags,
  635. /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum) = 0;
  636. virtual HRESULT STDMETHODCALLTYPE EnumSubtypes(
  637. /* [in] */ PST_KEY Key,
  638. /* [in] */ const GUID __RPC_FAR *pType,
  639. /* [in] */ DWORD dwFlags,
  640. /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum) = 0;
  641. virtual HRESULT STDMETHODCALLTYPE DeleteItem(
  642. /* [in] */ PST_KEY Key,
  643. /* [in] */ const GUID __RPC_FAR *pItemType,
  644. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  645. /* [in] */ LPCWSTR szItemName,
  646. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  647. /* [in] */ DWORD dwFlags) = 0;
  648. virtual HRESULT STDMETHODCALLTYPE ReadItem(
  649. /* [in] */ PST_KEY Key,
  650. /* [in] */ const GUID __RPC_FAR *pItemType,
  651. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  652. /* [in] */ LPCWSTR szItemName,
  653. /* [out] */ DWORD __RPC_FAR *pcbData,
  654. /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  655. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  656. /* [in] */ DWORD dwFlags) = 0;
  657. virtual HRESULT STDMETHODCALLTYPE WriteItem(
  658. /* [in] */ PST_KEY Key,
  659. /* [in] */ const GUID __RPC_FAR *pItemType,
  660. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  661. /* [in] */ LPCWSTR szItemName,
  662. /* [in] */ DWORD cbData,
  663. /* [size_is][in] */ BYTE __RPC_FAR *pbData,
  664. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  665. /* [in] */ DWORD dwDefaultConfirmationStyle,
  666. /* [in] */ DWORD dwFlags) = 0;
  667. virtual HRESULT STDMETHODCALLTYPE OpenItem(
  668. /* [in] */ PST_KEY Key,
  669. /* [in] */ const GUID __RPC_FAR *pItemType,
  670. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  671. /* [in] */ LPCWSTR szItemName,
  672. /* [in] */ PST_ACCESSMODE ModeFlags,
  673. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  674. /* [in] */ DWORD dwFlags) = 0;
  675. virtual HRESULT STDMETHODCALLTYPE CloseItem(
  676. /* [in] */ PST_KEY Key,
  677. /* [in] */ const GUID __RPC_FAR *pItemType,
  678. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  679. /* [in] */ LPCWSTR szItemName,
  680. /* [in] */ DWORD dwFlags) = 0;
  681. virtual HRESULT STDMETHODCALLTYPE EnumItems(
  682. /* [in] */ PST_KEY Key,
  683. /* [in] */ const GUID __RPC_FAR *pItemType,
  684. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  685. /* [in] */ DWORD dwFlags,
  686. /* [in] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum) = 0;
  687. };
  688. #else /* C style interface */
  689. typedef struct IPStoreVtbl
  690. {
  691. BEGIN_INTERFACE
  692. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  693. IPStore __RPC_FAR * This,
  694. /* [in] */ REFIID riid,
  695. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  696. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  697. IPStore __RPC_FAR * This);
  698. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  699. IPStore __RPC_FAR * This);
  700. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInfo )(
  701. IPStore __RPC_FAR * This,
  702. /* [out] */ PPST_PROVIDERINFO __RPC_FAR *ppProperties);
  703. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProvParam )(
  704. IPStore __RPC_FAR * This,
  705. /* [in] */ DWORD dwParam,
  706. /* [out] */ DWORD __RPC_FAR *pcbData,
  707. /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  708. /* [in] */ DWORD dwFlags);
  709. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProvParam )(
  710. IPStore __RPC_FAR * This,
  711. /* [in] */ DWORD dwParam,
  712. /* [in] */ DWORD cbData,
  713. /* [size_is][in] */ BYTE __RPC_FAR *pbData,
  714. /* [in] */ DWORD dwFlags);
  715. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateType )(
  716. IPStore __RPC_FAR * This,
  717. /* [in] */ PST_KEY Key,
  718. /* [in] */ const GUID __RPC_FAR *pType,
  719. /* [in] */ PPST_TYPEINFO pInfo,
  720. /* [in] */ DWORD dwFlags);
  721. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  722. IPStore __RPC_FAR * This,
  723. /* [in] */ PST_KEY Key,
  724. /* [in] */ const GUID __RPC_FAR *pType,
  725. /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo,
  726. /* [in] */ DWORD dwFlags);
  727. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteType )(
  728. IPStore __RPC_FAR * This,
  729. /* [in] */ PST_KEY Key,
  730. /* [in] */ const GUID __RPC_FAR *pType,
  731. /* [in] */ DWORD dwFlags);
  732. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSubtype )(
  733. IPStore __RPC_FAR * This,
  734. /* [in] */ PST_KEY Key,
  735. /* [in] */ const GUID __RPC_FAR *pType,
  736. /* [in] */ const GUID __RPC_FAR *pSubtype,
  737. /* [in] */ PPST_TYPEINFO pInfo,
  738. /* [in] */ PPST_ACCESSRULESET pRules,
  739. /* [in] */ DWORD dwFlags);
  740. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSubtypeInfo )(
  741. IPStore __RPC_FAR * This,
  742. /* [in] */ PST_KEY Key,
  743. /* [in] */ const GUID __RPC_FAR *pType,
  744. /* [in] */ const GUID __RPC_FAR *pSubtype,
  745. /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo,
  746. /* [in] */ DWORD dwFlags);
  747. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteSubtype )(
  748. IPStore __RPC_FAR * This,
  749. /* [in] */ PST_KEY Key,
  750. /* [in] */ const GUID __RPC_FAR *pType,
  751. /* [in] */ const GUID __RPC_FAR *pSubtype,
  752. /* [in] */ DWORD dwFlags);
  753. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadAccessRuleset )(
  754. IPStore __RPC_FAR * This,
  755. /* [in] */ PST_KEY Key,
  756. /* [in] */ const GUID __RPC_FAR *pType,
  757. /* [in] */ const GUID __RPC_FAR *pSubtype,
  758. /* [out] */ PPST_ACCESSRULESET __RPC_FAR *ppRules,
  759. /* [in] */ DWORD dwFlags);
  760. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteAccessRuleset )(
  761. IPStore __RPC_FAR * This,
  762. /* [in] */ PST_KEY Key,
  763. /* [in] */ const GUID __RPC_FAR *pType,
  764. /* [in] */ const GUID __RPC_FAR *pSubtype,
  765. /* [in] */ PPST_ACCESSRULESET pRules,
  766. /* [in] */ DWORD dwFlags);
  767. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumTypes )(
  768. IPStore __RPC_FAR * This,
  769. /* [in] */ PST_KEY Key,
  770. /* [in] */ DWORD dwFlags,
  771. /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
  772. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumSubtypes )(
  773. IPStore __RPC_FAR * This,
  774. /* [in] */ PST_KEY Key,
  775. /* [in] */ const GUID __RPC_FAR *pType,
  776. /* [in] */ DWORD dwFlags,
  777. /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
  778. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteItem )(
  779. IPStore __RPC_FAR * This,
  780. /* [in] */ PST_KEY Key,
  781. /* [in] */ const GUID __RPC_FAR *pItemType,
  782. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  783. /* [in] */ LPCWSTR szItemName,
  784. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  785. /* [in] */ DWORD dwFlags);
  786. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadItem )(
  787. IPStore __RPC_FAR * This,
  788. /* [in] */ PST_KEY Key,
  789. /* [in] */ const GUID __RPC_FAR *pItemType,
  790. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  791. /* [in] */ LPCWSTR szItemName,
  792. /* [out] */ DWORD __RPC_FAR *pcbData,
  793. /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  794. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  795. /* [in] */ DWORD dwFlags);
  796. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteItem )(
  797. IPStore __RPC_FAR * This,
  798. /* [in] */ PST_KEY Key,
  799. /* [in] */ const GUID __RPC_FAR *pItemType,
  800. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  801. /* [in] */ LPCWSTR szItemName,
  802. /* [in] */ DWORD cbData,
  803. /* [size_is][in] */ BYTE __RPC_FAR *pbData,
  804. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  805. /* [in] */ DWORD dwDefaultConfirmationStyle,
  806. /* [in] */ DWORD dwFlags);
  807. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenItem )(
  808. IPStore __RPC_FAR * This,
  809. /* [in] */ PST_KEY Key,
  810. /* [in] */ const GUID __RPC_FAR *pItemType,
  811. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  812. /* [in] */ LPCWSTR szItemName,
  813. /* [in] */ PST_ACCESSMODE ModeFlags,
  814. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  815. /* [in] */ DWORD dwFlags);
  816. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseItem )(
  817. IPStore __RPC_FAR * This,
  818. /* [in] */ PST_KEY Key,
  819. /* [in] */ const GUID __RPC_FAR *pItemType,
  820. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  821. /* [in] */ LPCWSTR szItemName,
  822. /* [in] */ DWORD dwFlags);
  823. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumItems )(
  824. IPStore __RPC_FAR * This,
  825. /* [in] */ PST_KEY Key,
  826. /* [in] */ const GUID __RPC_FAR *pItemType,
  827. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  828. /* [in] */ DWORD dwFlags,
  829. /* [in] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum);
  830. END_INTERFACE
  831. } IPStoreVtbl;
  832. interface IPStore
  833. {
  834. CONST_VTBL struct IPStoreVtbl __RPC_FAR *lpVtbl;
  835. };
  836. #ifdef COBJMACROS
  837. #define IPStore_QueryInterface(This,riid,ppvObject) \
  838. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  839. #define IPStore_AddRef(This) \
  840. (This)->lpVtbl -> AddRef(This)
  841. #define IPStore_Release(This) \
  842. (This)->lpVtbl -> Release(This)
  843. #define IPStore_GetInfo(This,ppProperties) \
  844. (This)->lpVtbl -> GetInfo(This,ppProperties)
  845. #define IPStore_GetProvParam(This,dwParam,pcbData,ppbData,dwFlags) \
  846. (This)->lpVtbl -> GetProvParam(This,dwParam,pcbData,ppbData,dwFlags)
  847. #define IPStore_SetProvParam(This,dwParam,cbData,pbData,dwFlags) \
  848. (This)->lpVtbl -> SetProvParam(This,dwParam,cbData,pbData,dwFlags)
  849. #define IPStore_CreateType(This,Key,pType,pInfo,dwFlags) \
  850. (This)->lpVtbl -> CreateType(This,Key,pType,pInfo,dwFlags)
  851. #define IPStore_GetTypeInfo(This,Key,pType,ppInfo,dwFlags) \
  852. (This)->lpVtbl -> GetTypeInfo(This,Key,pType,ppInfo,dwFlags)
  853. #define IPStore_DeleteType(This,Key,pType,dwFlags) \
  854. (This)->lpVtbl -> DeleteType(This,Key,pType,dwFlags)
  855. #define IPStore_CreateSubtype(This,Key,pType,pSubtype,pInfo,pRules,dwFlags) \
  856. (This)->lpVtbl -> CreateSubtype(This,Key,pType,pSubtype,pInfo,pRules,dwFlags)
  857. #define IPStore_GetSubtypeInfo(This,Key,pType,pSubtype,ppInfo,dwFlags) \
  858. (This)->lpVtbl -> GetSubtypeInfo(This,Key,pType,pSubtype,ppInfo,dwFlags)
  859. #define IPStore_DeleteSubtype(This,Key,pType,pSubtype,dwFlags) \
  860. (This)->lpVtbl -> DeleteSubtype(This,Key,pType,pSubtype,dwFlags)
  861. #define IPStore_ReadAccessRuleset(This,Key,pType,pSubtype,ppRules,dwFlags) \
  862. (This)->lpVtbl -> ReadAccessRuleset(This,Key,pType,pSubtype,ppRules,dwFlags)
  863. #define IPStore_WriteAccessRuleset(This,Key,pType,pSubtype,pRules,dwFlags) \
  864. (This)->lpVtbl -> WriteAccessRuleset(This,Key,pType,pSubtype,pRules,dwFlags)
  865. #define IPStore_EnumTypes(This,Key,dwFlags,ppenum) \
  866. (This)->lpVtbl -> EnumTypes(This,Key,dwFlags,ppenum)
  867. #define IPStore_EnumSubtypes(This,Key,pType,dwFlags,ppenum) \
  868. (This)->lpVtbl -> EnumSubtypes(This,Key,pType,dwFlags,ppenum)
  869. #define IPStore_DeleteItem(This,Key,pItemType,pItemSubtype,szItemName,pPromptInfo,dwFlags) \
  870. (This)->lpVtbl -> DeleteItem(This,Key,pItemType,pItemSubtype,szItemName,pPromptInfo,dwFlags)
  871. #define IPStore_ReadItem(This,Key,pItemType,pItemSubtype,szItemName,pcbData,ppbData,pPromptInfo,dwFlags) \
  872. (This)->lpVtbl -> ReadItem(This,Key,pItemType,pItemSubtype,szItemName,pcbData,ppbData,pPromptInfo,dwFlags)
  873. #define IPStore_WriteItem(This,Key,pItemType,pItemSubtype,szItemName,cbData,pbData,pPromptInfo,dwDefaultConfirmationStyle,dwFlags) \
  874. (This)->lpVtbl -> WriteItem(This,Key,pItemType,pItemSubtype,szItemName,cbData,pbData,pPromptInfo,dwDefaultConfirmationStyle,dwFlags)
  875. #define IPStore_OpenItem(This,Key,pItemType,pItemSubtype,szItemName,ModeFlags,pPromptInfo,dwFlags) \
  876. (This)->lpVtbl -> OpenItem(This,Key,pItemType,pItemSubtype,szItemName,ModeFlags,pPromptInfo,dwFlags)
  877. #define IPStore_CloseItem(This,Key,pItemType,pItemSubtype,szItemName,dwFlags) \
  878. (This)->lpVtbl -> CloseItem(This,Key,pItemType,pItemSubtype,szItemName,dwFlags)
  879. #define IPStore_EnumItems(This,Key,pItemType,pItemSubtype,dwFlags,ppenum) \
  880. (This)->lpVtbl -> EnumItems(This,Key,pItemType,pItemSubtype,dwFlags,ppenum)
  881. #endif /* COBJMACROS */
  882. #endif /* C style interface */
  883. HRESULT STDMETHODCALLTYPE IPStore_GetInfo_Proxy(
  884. IPStore __RPC_FAR * This,
  885. /* [out] */ PPST_PROVIDERINFO __RPC_FAR *ppProperties);
  886. void __RPC_STUB IPStore_GetInfo_Stub(
  887. IRpcStubBuffer *This,
  888. IRpcChannelBuffer *_pRpcChannelBuffer,
  889. PRPC_MESSAGE _pRpcMessage,
  890. DWORD *_pdwStubPhase);
  891. HRESULT STDMETHODCALLTYPE IPStore_GetProvParam_Proxy(
  892. IPStore __RPC_FAR * This,
  893. /* [in] */ DWORD dwParam,
  894. /* [out] */ DWORD __RPC_FAR *pcbData,
  895. /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  896. /* [in] */ DWORD dwFlags);
  897. void __RPC_STUB IPStore_GetProvParam_Stub(
  898. IRpcStubBuffer *This,
  899. IRpcChannelBuffer *_pRpcChannelBuffer,
  900. PRPC_MESSAGE _pRpcMessage,
  901. DWORD *_pdwStubPhase);
  902. HRESULT STDMETHODCALLTYPE IPStore_SetProvParam_Proxy(
  903. IPStore __RPC_FAR * This,
  904. /* [in] */ DWORD dwParam,
  905. /* [in] */ DWORD cbData,
  906. /* [size_is][in] */ BYTE __RPC_FAR *pbData,
  907. /* [in] */ DWORD dwFlags);
  908. void __RPC_STUB IPStore_SetProvParam_Stub(
  909. IRpcStubBuffer *This,
  910. IRpcChannelBuffer *_pRpcChannelBuffer,
  911. PRPC_MESSAGE _pRpcMessage,
  912. DWORD *_pdwStubPhase);
  913. HRESULT STDMETHODCALLTYPE IPStore_CreateType_Proxy(
  914. IPStore __RPC_FAR * This,
  915. /* [in] */ PST_KEY Key,
  916. /* [in] */ const GUID __RPC_FAR *pType,
  917. /* [in] */ PPST_TYPEINFO pInfo,
  918. /* [in] */ DWORD dwFlags);
  919. void __RPC_STUB IPStore_CreateType_Stub(
  920. IRpcStubBuffer *This,
  921. IRpcChannelBuffer *_pRpcChannelBuffer,
  922. PRPC_MESSAGE _pRpcMessage,
  923. DWORD *_pdwStubPhase);
  924. HRESULT STDMETHODCALLTYPE IPStore_GetTypeInfo_Proxy(
  925. IPStore __RPC_FAR * This,
  926. /* [in] */ PST_KEY Key,
  927. /* [in] */ const GUID __RPC_FAR *pType,
  928. /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo,
  929. /* [in] */ DWORD dwFlags);
  930. void __RPC_STUB IPStore_GetTypeInfo_Stub(
  931. IRpcStubBuffer *This,
  932. IRpcChannelBuffer *_pRpcChannelBuffer,
  933. PRPC_MESSAGE _pRpcMessage,
  934. DWORD *_pdwStubPhase);
  935. HRESULT STDMETHODCALLTYPE IPStore_DeleteType_Proxy(
  936. IPStore __RPC_FAR * This,
  937. /* [in] */ PST_KEY Key,
  938. /* [in] */ const GUID __RPC_FAR *pType,
  939. /* [in] */ DWORD dwFlags);
  940. void __RPC_STUB IPStore_DeleteType_Stub(
  941. IRpcStubBuffer *This,
  942. IRpcChannelBuffer *_pRpcChannelBuffer,
  943. PRPC_MESSAGE _pRpcMessage,
  944. DWORD *_pdwStubPhase);
  945. HRESULT STDMETHODCALLTYPE IPStore_CreateSubtype_Proxy(
  946. IPStore __RPC_FAR * This,
  947. /* [in] */ PST_KEY Key,
  948. /* [in] */ const GUID __RPC_FAR *pType,
  949. /* [in] */ const GUID __RPC_FAR *pSubtype,
  950. /* [in] */ PPST_TYPEINFO pInfo,
  951. /* [in] */ PPST_ACCESSRULESET pRules,
  952. /* [in] */ DWORD dwFlags);
  953. void __RPC_STUB IPStore_CreateSubtype_Stub(
  954. IRpcStubBuffer *This,
  955. IRpcChannelBuffer *_pRpcChannelBuffer,
  956. PRPC_MESSAGE _pRpcMessage,
  957. DWORD *_pdwStubPhase);
  958. HRESULT STDMETHODCALLTYPE IPStore_GetSubtypeInfo_Proxy(
  959. IPStore __RPC_FAR * This,
  960. /* [in] */ PST_KEY Key,
  961. /* [in] */ const GUID __RPC_FAR *pType,
  962. /* [in] */ const GUID __RPC_FAR *pSubtype,
  963. /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo,
  964. /* [in] */ DWORD dwFlags);
  965. void __RPC_STUB IPStore_GetSubtypeInfo_Stub(
  966. IRpcStubBuffer *This,
  967. IRpcChannelBuffer *_pRpcChannelBuffer,
  968. PRPC_MESSAGE _pRpcMessage,
  969. DWORD *_pdwStubPhase);
  970. HRESULT STDMETHODCALLTYPE IPStore_DeleteSubtype_Proxy(
  971. IPStore __RPC_FAR * This,
  972. /* [in] */ PST_KEY Key,
  973. /* [in] */ const GUID __RPC_FAR *pType,
  974. /* [in] */ const GUID __RPC_FAR *pSubtype,
  975. /* [in] */ DWORD dwFlags);
  976. void __RPC_STUB IPStore_DeleteSubtype_Stub(
  977. IRpcStubBuffer *This,
  978. IRpcChannelBuffer *_pRpcChannelBuffer,
  979. PRPC_MESSAGE _pRpcMessage,
  980. DWORD *_pdwStubPhase);
  981. HRESULT STDMETHODCALLTYPE IPStore_ReadAccessRuleset_Proxy(
  982. IPStore __RPC_FAR * This,
  983. /* [in] */ PST_KEY Key,
  984. /* [in] */ const GUID __RPC_FAR *pType,
  985. /* [in] */ const GUID __RPC_FAR *pSubtype,
  986. /* [out] */ PPST_ACCESSRULESET __RPC_FAR *ppRules,
  987. /* [in] */ DWORD dwFlags);
  988. void __RPC_STUB IPStore_ReadAccessRuleset_Stub(
  989. IRpcStubBuffer *This,
  990. IRpcChannelBuffer *_pRpcChannelBuffer,
  991. PRPC_MESSAGE _pRpcMessage,
  992. DWORD *_pdwStubPhase);
  993. HRESULT STDMETHODCALLTYPE IPStore_WriteAccessRuleset_Proxy(
  994. IPStore __RPC_FAR * This,
  995. /* [in] */ PST_KEY Key,
  996. /* [in] */ const GUID __RPC_FAR *pType,
  997. /* [in] */ const GUID __RPC_FAR *pSubtype,
  998. /* [in] */ PPST_ACCESSRULESET pRules,
  999. /* [in] */ DWORD dwFlags);
  1000. void __RPC_STUB IPStore_WriteAccessRuleset_Stub(
  1001. IRpcStubBuffer *This,
  1002. IRpcChannelBuffer *_pRpcChannelBuffer,
  1003. PRPC_MESSAGE _pRpcMessage,
  1004. DWORD *_pdwStubPhase);
  1005. HRESULT STDMETHODCALLTYPE IPStore_EnumTypes_Proxy(
  1006. IPStore __RPC_FAR * This,
  1007. /* [in] */ PST_KEY Key,
  1008. /* [in] */ DWORD dwFlags,
  1009. /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
  1010. void __RPC_STUB IPStore_EnumTypes_Stub(
  1011. IRpcStubBuffer *This,
  1012. IRpcChannelBuffer *_pRpcChannelBuffer,
  1013. PRPC_MESSAGE _pRpcMessage,
  1014. DWORD *_pdwStubPhase);
  1015. HRESULT STDMETHODCALLTYPE IPStore_EnumSubtypes_Proxy(
  1016. IPStore __RPC_FAR * This,
  1017. /* [in] */ PST_KEY Key,
  1018. /* [in] */ const GUID __RPC_FAR *pType,
  1019. /* [in] */ DWORD dwFlags,
  1020. /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
  1021. void __RPC_STUB IPStore_EnumSubtypes_Stub(
  1022. IRpcStubBuffer *This,
  1023. IRpcChannelBuffer *_pRpcChannelBuffer,
  1024. PRPC_MESSAGE _pRpcMessage,
  1025. DWORD *_pdwStubPhase);
  1026. HRESULT STDMETHODCALLTYPE IPStore_DeleteItem_Proxy(
  1027. IPStore __RPC_FAR * This,
  1028. /* [in] */ PST_KEY Key,
  1029. /* [in] */ const GUID __RPC_FAR *pItemType,
  1030. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  1031. /* [in] */ LPCWSTR szItemName,
  1032. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  1033. /* [in] */ DWORD dwFlags);
  1034. void __RPC_STUB IPStore_DeleteItem_Stub(
  1035. IRpcStubBuffer *This,
  1036. IRpcChannelBuffer *_pRpcChannelBuffer,
  1037. PRPC_MESSAGE _pRpcMessage,
  1038. DWORD *_pdwStubPhase);
  1039. HRESULT STDMETHODCALLTYPE IPStore_ReadItem_Proxy(
  1040. IPStore __RPC_FAR * This,
  1041. /* [in] */ PST_KEY Key,
  1042. /* [in] */ const GUID __RPC_FAR *pItemType,
  1043. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  1044. /* [in] */ LPCWSTR szItemName,
  1045. /* [out] */ DWORD __RPC_FAR *pcbData,
  1046. /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData,
  1047. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  1048. /* [in] */ DWORD dwFlags);
  1049. void __RPC_STUB IPStore_ReadItem_Stub(
  1050. IRpcStubBuffer *This,
  1051. IRpcChannelBuffer *_pRpcChannelBuffer,
  1052. PRPC_MESSAGE _pRpcMessage,
  1053. DWORD *_pdwStubPhase);
  1054. HRESULT STDMETHODCALLTYPE IPStore_WriteItem_Proxy(
  1055. IPStore __RPC_FAR * This,
  1056. /* [in] */ PST_KEY Key,
  1057. /* [in] */ const GUID __RPC_FAR *pItemType,
  1058. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  1059. /* [in] */ LPCWSTR szItemName,
  1060. /* [in] */ DWORD cbData,
  1061. /* [size_is][in] */ BYTE __RPC_FAR *pbData,
  1062. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  1063. /* [in] */ DWORD dwDefaultConfirmationStyle,
  1064. /* [in] */ DWORD dwFlags);
  1065. void __RPC_STUB IPStore_WriteItem_Stub(
  1066. IRpcStubBuffer *This,
  1067. IRpcChannelBuffer *_pRpcChannelBuffer,
  1068. PRPC_MESSAGE _pRpcMessage,
  1069. DWORD *_pdwStubPhase);
  1070. HRESULT STDMETHODCALLTYPE IPStore_OpenItem_Proxy(
  1071. IPStore __RPC_FAR * This,
  1072. /* [in] */ PST_KEY Key,
  1073. /* [in] */ const GUID __RPC_FAR *pItemType,
  1074. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  1075. /* [in] */ LPCWSTR szItemName,
  1076. /* [in] */ PST_ACCESSMODE ModeFlags,
  1077. /* [in] */ PPST_PROMPTINFO pPromptInfo,
  1078. /* [in] */ DWORD dwFlags);
  1079. void __RPC_STUB IPStore_OpenItem_Stub(
  1080. IRpcStubBuffer *This,
  1081. IRpcChannelBuffer *_pRpcChannelBuffer,
  1082. PRPC_MESSAGE _pRpcMessage,
  1083. DWORD *_pdwStubPhase);
  1084. HRESULT STDMETHODCALLTYPE IPStore_CloseItem_Proxy(
  1085. IPStore __RPC_FAR * This,
  1086. /* [in] */ PST_KEY Key,
  1087. /* [in] */ const GUID __RPC_FAR *pItemType,
  1088. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  1089. /* [in] */ LPCWSTR szItemName,
  1090. /* [in] */ DWORD dwFlags);
  1091. void __RPC_STUB IPStore_CloseItem_Stub(
  1092. IRpcStubBuffer *This,
  1093. IRpcChannelBuffer *_pRpcChannelBuffer,
  1094. PRPC_MESSAGE _pRpcMessage,
  1095. DWORD *_pdwStubPhase);
  1096. HRESULT STDMETHODCALLTYPE IPStore_EnumItems_Proxy(
  1097. IPStore __RPC_FAR * This,
  1098. /* [in] */ PST_KEY Key,
  1099. /* [in] */ const GUID __RPC_FAR *pItemType,
  1100. /* [in] */ const GUID __RPC_FAR *pItemSubtype,
  1101. /* [in] */ DWORD dwFlags,
  1102. /* [in] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum);
  1103. void __RPC_STUB IPStore_EnumItems_Stub(
  1104. IRpcStubBuffer *This,
  1105. IRpcChannelBuffer *_pRpcChannelBuffer,
  1106. PRPC_MESSAGE _pRpcMessage,
  1107. DWORD *_pdwStubPhase);
  1108. #endif /* __IPStore_INTERFACE_DEFINED__ */
  1109. #ifndef __IEnumPStoreProviders_INTERFACE_DEFINED__
  1110. #define __IEnumPStoreProviders_INTERFACE_DEFINED__
  1111. /****************************************
  1112. * Generated header for interface: IEnumPStoreProviders
  1113. * at Wed Apr 23 23:56:14 1997
  1114. * using MIDL 3.00.44
  1115. ****************************************/
  1116. /* [unique][helpstring][uuid][object] */
  1117. EXTERN_C const IID IID_IEnumPStoreProviders;
  1118. #if defined(__cplusplus) && !defined(CINTERFACE)
  1119. interface IEnumPStoreProviders : public IUnknown
  1120. {
  1121. public:
  1122. virtual HRESULT STDMETHODCALLTYPE Next(
  1123. /* [in] */ DWORD celt,
  1124. /* [out][size_is] */ PST_PROVIDERINFO __RPC_FAR *__RPC_FAR *rgelt,
  1125. /* [out][in] */ DWORD __RPC_FAR *pceltFetched) = 0;
  1126. virtual HRESULT STDMETHODCALLTYPE Skip(
  1127. /* [in] */ DWORD celt) = 0;
  1128. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1129. virtual HRESULT STDMETHODCALLTYPE Clone(
  1130. /* [out] */ IEnumPStoreProviders __RPC_FAR *__RPC_FAR *ppenum) = 0;
  1131. };
  1132. #else /* C style interface */
  1133. typedef struct IEnumPStoreProvidersVtbl
  1134. {
  1135. BEGIN_INTERFACE
  1136. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1137. IEnumPStoreProviders __RPC_FAR * This,
  1138. /* [in] */ REFIID riid,
  1139. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1140. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1141. IEnumPStoreProviders __RPC_FAR * This);
  1142. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1143. IEnumPStoreProviders __RPC_FAR * This);
  1144. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  1145. IEnumPStoreProviders __RPC_FAR * This,
  1146. /* [in] */ DWORD celt,
  1147. /* [out][size_is] */ PST_PROVIDERINFO __RPC_FAR *__RPC_FAR *rgelt,
  1148. /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
  1149. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  1150. IEnumPStoreProviders __RPC_FAR * This,
  1151. /* [in] */ DWORD celt);
  1152. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  1153. IEnumPStoreProviders __RPC_FAR * This);
  1154. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  1155. IEnumPStoreProviders __RPC_FAR * This,
  1156. /* [out] */ IEnumPStoreProviders __RPC_FAR *__RPC_FAR *ppenum);
  1157. END_INTERFACE
  1158. } IEnumPStoreProvidersVtbl;
  1159. interface IEnumPStoreProviders
  1160. {
  1161. CONST_VTBL struct IEnumPStoreProvidersVtbl __RPC_FAR *lpVtbl;
  1162. };
  1163. #ifdef COBJMACROS
  1164. #define IEnumPStoreProviders_QueryInterface(This,riid,ppvObject) \
  1165. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1166. #define IEnumPStoreProviders_AddRef(This) \
  1167. (This)->lpVtbl -> AddRef(This)
  1168. #define IEnumPStoreProviders_Release(This) \
  1169. (This)->lpVtbl -> Release(This)
  1170. #define IEnumPStoreProviders_Next(This,celt,rgelt,pceltFetched) \
  1171. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1172. #define IEnumPStoreProviders_Skip(This,celt) \
  1173. (This)->lpVtbl -> Skip(This,celt)
  1174. #define IEnumPStoreProviders_Reset(This) \
  1175. (This)->lpVtbl -> Reset(This)
  1176. #define IEnumPStoreProviders_Clone(This,ppenum) \
  1177. (This)->lpVtbl -> Clone(This,ppenum)
  1178. #endif /* COBJMACROS */
  1179. #endif /* C style interface */
  1180. HRESULT STDMETHODCALLTYPE IEnumPStoreProviders_Next_Proxy(
  1181. IEnumPStoreProviders __RPC_FAR * This,
  1182. /* [in] */ DWORD celt,
  1183. /* [out][size_is] */ PST_PROVIDERINFO __RPC_FAR *__RPC_FAR *rgelt,
  1184. /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
  1185. void __RPC_STUB IEnumPStoreProviders_Next_Stub(
  1186. IRpcStubBuffer *This,
  1187. IRpcChannelBuffer *_pRpcChannelBuffer,
  1188. PRPC_MESSAGE _pRpcMessage,
  1189. DWORD *_pdwStubPhase);
  1190. HRESULT STDMETHODCALLTYPE IEnumPStoreProviders_Skip_Proxy(
  1191. IEnumPStoreProviders __RPC_FAR * This,
  1192. /* [in] */ DWORD celt);
  1193. void __RPC_STUB IEnumPStoreProviders_Skip_Stub(
  1194. IRpcStubBuffer *This,
  1195. IRpcChannelBuffer *_pRpcChannelBuffer,
  1196. PRPC_MESSAGE _pRpcMessage,
  1197. DWORD *_pdwStubPhase);
  1198. HRESULT STDMETHODCALLTYPE IEnumPStoreProviders_Reset_Proxy(
  1199. IEnumPStoreProviders __RPC_FAR * This);
  1200. void __RPC_STUB IEnumPStoreProviders_Reset_Stub(
  1201. IRpcStubBuffer *This,
  1202. IRpcChannelBuffer *_pRpcChannelBuffer,
  1203. PRPC_MESSAGE _pRpcMessage,
  1204. DWORD *_pdwStubPhase);
  1205. HRESULT STDMETHODCALLTYPE IEnumPStoreProviders_Clone_Proxy(
  1206. IEnumPStoreProviders __RPC_FAR * This,
  1207. /* [out] */ IEnumPStoreProviders __RPC_FAR *__RPC_FAR *ppenum);
  1208. void __RPC_STUB IEnumPStoreProviders_Clone_Stub(
  1209. IRpcStubBuffer *This,
  1210. IRpcChannelBuffer *_pRpcChannelBuffer,
  1211. PRPC_MESSAGE _pRpcMessage,
  1212. DWORD *_pdwStubPhase);
  1213. #endif /* __IEnumPStoreProviders_INTERFACE_DEFINED__ */
  1214. #ifndef __PSTORECLib_LIBRARY_DEFINED__
  1215. #define __PSTORECLib_LIBRARY_DEFINED__
  1216. /****************************************
  1217. * Generated header for library: PSTORECLib
  1218. * at Wed Apr 23 23:56:14 1997
  1219. * using MIDL 3.00.44
  1220. ****************************************/
  1221. /* [helpstring][version][uuid] */
  1222. EXTERN_C const IID LIBID_PSTORECLib;
  1223. #ifdef __cplusplus
  1224. EXTERN_C const CLSID CLSID_CPStore;
  1225. class CPStore;
  1226. #endif
  1227. #ifdef __cplusplus
  1228. EXTERN_C const CLSID CLSID_CEnumTypes;
  1229. class CEnumTypes;
  1230. #endif
  1231. #ifdef __cplusplus
  1232. EXTERN_C const CLSID CLSID_CEnumItems;
  1233. class CEnumItems;
  1234. #endif
  1235. #endif /* __PSTORECLib_LIBRARY_DEFINED__ */
  1236. /****************************************
  1237. * Generated header for interface: __MIDL__intf_0080
  1238. * at Wed Apr 23 23:56:14 1997
  1239. * using MIDL 3.00.44
  1240. ****************************************/
  1241. /* [local] */
  1242. HRESULT __stdcall PStoreCreateInstance(
  1243. IPStore __RPC_FAR *__RPC_FAR *ppProvider,
  1244. PST_PROVIDERID __RPC_FAR *pProviderID,
  1245. void __RPC_FAR *pReserved,
  1246. DWORD dwFlags);
  1247. HRESULT __stdcall PStoreEnumProviders(
  1248. DWORD dwFlags,
  1249. IEnumPStoreProviders __RPC_FAR *__RPC_FAR *ppenum);
  1250. extern RPC_IF_HANDLE __MIDL__intf_0080_v0_0_c_ifspec;
  1251. extern RPC_IF_HANDLE __MIDL__intf_0080_v0_0_s_ifspec;
  1252. /* Additional Prototypes for ALL interfaces */
  1253. /* end of Additional Prototypes */
  1254. #ifdef __cplusplus
  1255. }
  1256. #endif
  1257. #endif // PSTORE_H