blob: 9479353604753fc3a0f3b6525874fd2c38cf5846 [file] [log] [blame]
Mike McCormackc3b8a202004-04-29 20:00:26 +00001/*** Autogenerated by WIDL 0.1 from pstore.idl - Do not edit ***/
2#include <rpc.h>
3#include <rpcndr.h>
4
5#ifndef __WIDL_PSTORE_H
6#define __WIDL_PSTORE_H
7#ifdef __cplusplus
8extern "C" {
9#endif
10#include <oaidl.h>
11#define PST_KEY_CURRENT_USER 0
12#define PST_KEY_LOCAL_MACHINE 1
13#define PST_E_OK 0x00000000L
14#define PST_E_TYPE_EXISTS 0x800C0004L
15#define PST_AUTHENTICODE 1
16#define PST_BINARY_CHECK 2
17#define PST_SECURITY_DESCRIPTOR 4
18typedef DWORD PST_ACCESSMODE;
19
20typedef DWORD PST_ACCESSCLAUSETYPE;
21
22typedef DWORD PST_KEY;
23
24typedef DWORD PST_PROVIDERCAPABILITIES;
25
26typedef GUID PST_PROVIDERID, *PPST_PROVIDERID;
27
28typedef struct _PST_PROVIDERINFO {
29 DWORD cbSize;
30 PST_PROVIDERID ID;
31 PST_PROVIDERCAPABILITIES Capabilities;
32 LPWSTR szProviderName;
33} PST_PROVIDERINFO, *PPST_PROVIDERINFO;
34
35typedef void *PPST_PROMPTIFO;
36
37typedef struct {
38 DWORD cbSize;
39 PST_ACCESSCLAUSETYPE ClauseType;
40 DWORD cbClauseData;
41 BYTE *pbClauseData;
42} PST_ACCESSCLAUSE, *PPST_ACCESSCLAUSE;
43
44typedef struct {
45 DWORD cbSize;
46 PST_ACCESSMODE AccessModeFlags;
47 DWORD cClauses;
48 PST_ACCESSCLAUSE *rgClauses;
49} PST_ACCESSRULE, *PPST_ACCESSRULE;
50
51typedef struct {
52 DWORD cbSize;
53 DWORD cClause;
54 PST_ACCESSRULE *rgRules;
55} PST_ACCESSRULESET, *PPST_ACCESSRULESET;
56
57typedef struct {
58 DWORD cbSize;
59 LPWSTR szDisplayName;
60} PST_TYPEINFO, *PPST_TYPEINFO;
61
62typedef struct {
63 DWORD cbSize;
64 DWORD dwPromptFlags;
65 DWORD_PTR hwndApp;
66 LPCWSTR szPrompt;
67} PST_PROMPTINFO, *PPST_PROMPTINFO;
68
69#ifndef __IEnumPStoreItems_FWD_DEFINED__
70#define __IEnumPStoreItems_FWD_DEFINED__
71typedef struct IEnumPStoreItems IEnumPStoreItems;
72#endif
73
74/*****************************************************************************
75 * IEnumPStoreItems interface
76 */
77#ifndef __IEnumPStoreItems_INTERFACE_DEFINED__
78#define __IEnumPStoreItems_INTERFACE_DEFINED__
79
80#if defined(__cplusplus) && !defined(CINTERFACE)
81struct IEnumPStoreItems : public IUnknown
82{
83 virtual HRESULT STDMETHODCALLTYPE Clone(
84 IEnumPStoreItems** ppenum) = 0;
85
86 virtual HRESULT STDMETHODCALLTYPE Next(
87 DWORD celt,
88 LPWSTR* rgelt,
89 DWORD* pceltFetched) = 0;
90
91 virtual HRESULT STDMETHODCALLTYPE Reset(
92 ) = 0;
93
94 virtual HRESULT STDMETHODCALLTYPE Skip(
95 DWORD celt) = 0;
96
97};
98#else
99typedef struct IEnumPStoreItemsVtbl IEnumPStoreItemsVtbl;
100struct IEnumPStoreItems {
101 const IEnumPStoreItemsVtbl* lpVtbl;
102};
103struct IEnumPStoreItemsVtbl {
Mike McCormack77ea0212004-08-22 02:25:05 +0000104 BEGIN_INTERFACE
Mike McCormackc3b8a202004-04-29 20:00:26 +0000105
106 /*** IUnknown methods ***/
107 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
108 IEnumPStoreItems* This,
109 REFIID riid,
110 void** ppvObject);
111
112 ULONG (STDMETHODCALLTYPE *AddRef)(
113 IEnumPStoreItems* This);
114
115 ULONG (STDMETHODCALLTYPE *Release)(
116 IEnumPStoreItems* This);
117
118 /*** IEnumPStoreItems methods ***/
119 HRESULT (STDMETHODCALLTYPE *Clone)(
120 IEnumPStoreItems* This,
121 IEnumPStoreItems** ppenum);
122
123 HRESULT (STDMETHODCALLTYPE *Next)(
124 IEnumPStoreItems* This,
125 DWORD celt,
126 LPWSTR* rgelt,
127 DWORD* pceltFetched);
128
129 HRESULT (STDMETHODCALLTYPE *Reset)(
130 IEnumPStoreItems* This);
131
132 HRESULT (STDMETHODCALLTYPE *Skip)(
133 IEnumPStoreItems* This,
134 DWORD celt);
135
Mike McCormack77ea0212004-08-22 02:25:05 +0000136 END_INTERFACE
Mike McCormackc3b8a202004-04-29 20:00:26 +0000137};
138
Francois Gougetbf72af32004-08-11 19:43:45 +0000139#ifdef COBJMACROS
Mike McCormackc3b8a202004-04-29 20:00:26 +0000140/*** IUnknown methods ***/
141#define IEnumPStoreItems_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
142#define IEnumPStoreItems_AddRef(p) (p)->lpVtbl->AddRef(p)
143#define IEnumPStoreItems_Release(p) (p)->lpVtbl->Release(p)
144/*** IEnumPStoreItems methods ***/
145#define IEnumPStoreItems_Clone(p,a) (p)->lpVtbl->Clone(p,a)
146#define IEnumPStoreItems_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
147#define IEnumPStoreItems_Reset(p) (p)->lpVtbl->Reset(p)
148#define IEnumPStoreItems_Skip(p,a) (p)->lpVtbl->Skip(p,a)
Francois Gougetbf72af32004-08-11 19:43:45 +0000149#endif
Mike McCormackc3b8a202004-04-29 20:00:26 +0000150
151#endif
152
153#define IEnumPStoreItems_METHODS \
Mike McCormackc3b8a202004-04-29 20:00:26 +0000154 /*** IUnknown methods ***/ \
155 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
156 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
157 STDMETHOD_(ULONG,Release)(THIS) PURE; \
158 /*** IEnumPStoreItems methods ***/ \
159 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumPStoreItems** ppenum) PURE; \
160 STDMETHOD_(HRESULT,Next)(THIS_ DWORD celt, LPWSTR* rgelt, DWORD* pceltFetched) PURE; \
161 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
162 STDMETHOD_(HRESULT,Skip)(THIS_ DWORD celt) PURE;
163
164HRESULT CALLBACK IEnumPStoreItems_Clone_Proxy(
165 IEnumPStoreItems* This,
166 IEnumPStoreItems** ppenum);
167void __RPC_STUB IEnumPStoreItems_Clone_Stub(
168 struct IRpcStubBuffer* This,
169 struct IRpcChannelBuffer* pRpcChannelBuffer,
170 PRPC_MESSAGE pRpcMessage,
171 DWORD* pdwStubPhase);
172HRESULT CALLBACK IEnumPStoreItems_Next_Proxy(
173 IEnumPStoreItems* This,
174 DWORD celt,
175 LPWSTR* rgelt,
176 DWORD* pceltFetched);
177void __RPC_STUB IEnumPStoreItems_Next_Stub(
178 struct IRpcStubBuffer* This,
179 struct IRpcChannelBuffer* pRpcChannelBuffer,
180 PRPC_MESSAGE pRpcMessage,
181 DWORD* pdwStubPhase);
182HRESULT CALLBACK IEnumPStoreItems_Reset_Proxy(
183 IEnumPStoreItems* This);
184void __RPC_STUB IEnumPStoreItems_Reset_Stub(
185 struct IRpcStubBuffer* This,
186 struct IRpcChannelBuffer* pRpcChannelBuffer,
187 PRPC_MESSAGE pRpcMessage,
188 DWORD* pdwStubPhase);
189HRESULT CALLBACK IEnumPStoreItems_Skip_Proxy(
190 IEnumPStoreItems* This,
191 DWORD celt);
192void __RPC_STUB IEnumPStoreItems_Skip_Stub(
193 struct IRpcStubBuffer* This,
194 struct IRpcChannelBuffer* pRpcChannelBuffer,
195 PRPC_MESSAGE pRpcMessage,
196 DWORD* pdwStubPhase);
197
198#endif /* __IEnumPStoreItems_INTERFACE_DEFINED__ */
199
200#ifndef __IEnumPStoreTypes_FWD_DEFINED__
201#define __IEnumPStoreTypes_FWD_DEFINED__
202typedef struct IEnumPStoreTypes IEnumPStoreTypes;
203#endif
204
205/*****************************************************************************
206 * IEnumPStoreTypes interface
207 */
208#ifndef __IEnumPStoreTypes_INTERFACE_DEFINED__
209#define __IEnumPStoreTypes_INTERFACE_DEFINED__
210
211#if defined(__cplusplus) && !defined(CINTERFACE)
212struct IEnumPStoreTypes : public IUnknown
213{
214 virtual HRESULT STDMETHODCALLTYPE Clone(
215 IEnumPStoreTypes** ppenum) = 0;
216
217 virtual HRESULT STDMETHODCALLTYPE Next(
218 DWORD celt,
219 LPWSTR* rgelt,
220 DWORD* pceltFetched) = 0;
221
222 virtual HRESULT STDMETHODCALLTYPE Reset(
223 ) = 0;
224
225 virtual HRESULT STDMETHODCALLTYPE Skip(
226 DWORD celt) = 0;
227
228};
229#else
230typedef struct IEnumPStoreTypesVtbl IEnumPStoreTypesVtbl;
231struct IEnumPStoreTypes {
232 const IEnumPStoreTypesVtbl* lpVtbl;
233};
234struct IEnumPStoreTypesVtbl {
Mike McCormack77ea0212004-08-22 02:25:05 +0000235 BEGIN_INTERFACE
Mike McCormackc3b8a202004-04-29 20:00:26 +0000236
237 /*** IUnknown methods ***/
238 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
239 IEnumPStoreTypes* This,
240 REFIID riid,
241 void** ppvObject);
242
243 ULONG (STDMETHODCALLTYPE *AddRef)(
244 IEnumPStoreTypes* This);
245
246 ULONG (STDMETHODCALLTYPE *Release)(
247 IEnumPStoreTypes* This);
248
249 /*** IEnumPStoreTypes methods ***/
250 HRESULT (STDMETHODCALLTYPE *Clone)(
251 IEnumPStoreTypes* This,
252 IEnumPStoreTypes** ppenum);
253
254 HRESULT (STDMETHODCALLTYPE *Next)(
255 IEnumPStoreTypes* This,
256 DWORD celt,
257 LPWSTR* rgelt,
258 DWORD* pceltFetched);
259
260 HRESULT (STDMETHODCALLTYPE *Reset)(
261 IEnumPStoreTypes* This);
262
263 HRESULT (STDMETHODCALLTYPE *Skip)(
264 IEnumPStoreTypes* This,
265 DWORD celt);
266
Mike McCormack77ea0212004-08-22 02:25:05 +0000267 END_INTERFACE
Mike McCormackc3b8a202004-04-29 20:00:26 +0000268};
269
Francois Gougetbf72af32004-08-11 19:43:45 +0000270#ifdef COBJMACROS
Mike McCormackc3b8a202004-04-29 20:00:26 +0000271/*** IUnknown methods ***/
272#define IEnumPStoreTypes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
273#define IEnumPStoreTypes_AddRef(p) (p)->lpVtbl->AddRef(p)
274#define IEnumPStoreTypes_Release(p) (p)->lpVtbl->Release(p)
275/*** IEnumPStoreTypes methods ***/
276#define IEnumPStoreTypes_Clone(p,a) (p)->lpVtbl->Clone(p,a)
277#define IEnumPStoreTypes_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
278#define IEnumPStoreTypes_Reset(p) (p)->lpVtbl->Reset(p)
279#define IEnumPStoreTypes_Skip(p,a) (p)->lpVtbl->Skip(p,a)
Francois Gougetbf72af32004-08-11 19:43:45 +0000280#endif
Mike McCormackc3b8a202004-04-29 20:00:26 +0000281
282#endif
283
284#define IEnumPStoreTypes_METHODS \
Mike McCormackc3b8a202004-04-29 20:00:26 +0000285 /*** IUnknown methods ***/ \
286 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
287 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
288 STDMETHOD_(ULONG,Release)(THIS) PURE; \
289 /*** IEnumPStoreTypes methods ***/ \
290 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumPStoreTypes** ppenum) PURE; \
291 STDMETHOD_(HRESULT,Next)(THIS_ DWORD celt, LPWSTR* rgelt, DWORD* pceltFetched) PURE; \
292 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
293 STDMETHOD_(HRESULT,Skip)(THIS_ DWORD celt) PURE;
294
295HRESULT CALLBACK IEnumPStoreTypes_Clone_Proxy(
296 IEnumPStoreTypes* This,
297 IEnumPStoreTypes** ppenum);
298void __RPC_STUB IEnumPStoreTypes_Clone_Stub(
299 struct IRpcStubBuffer* This,
300 struct IRpcChannelBuffer* pRpcChannelBuffer,
301 PRPC_MESSAGE pRpcMessage,
302 DWORD* pdwStubPhase);
303HRESULT CALLBACK IEnumPStoreTypes_Next_Proxy(
304 IEnumPStoreTypes* This,
305 DWORD celt,
306 LPWSTR* rgelt,
307 DWORD* pceltFetched);
308void __RPC_STUB IEnumPStoreTypes_Next_Stub(
309 struct IRpcStubBuffer* This,
310 struct IRpcChannelBuffer* pRpcChannelBuffer,
311 PRPC_MESSAGE pRpcMessage,
312 DWORD* pdwStubPhase);
313HRESULT CALLBACK IEnumPStoreTypes_Reset_Proxy(
314 IEnumPStoreTypes* This);
315void __RPC_STUB IEnumPStoreTypes_Reset_Stub(
316 struct IRpcStubBuffer* This,
317 struct IRpcChannelBuffer* pRpcChannelBuffer,
318 PRPC_MESSAGE pRpcMessage,
319 DWORD* pdwStubPhase);
320HRESULT CALLBACK IEnumPStoreTypes_Skip_Proxy(
321 IEnumPStoreTypes* This,
322 DWORD celt);
323void __RPC_STUB IEnumPStoreTypes_Skip_Stub(
324 struct IRpcStubBuffer* This,
325 struct IRpcChannelBuffer* pRpcChannelBuffer,
326 PRPC_MESSAGE pRpcMessage,
327 DWORD* pdwStubPhase);
328
329#endif /* __IEnumPStoreTypes_INTERFACE_DEFINED__ */
330
331#ifndef __IPStore_FWD_DEFINED__
332#define __IPStore_FWD_DEFINED__
333typedef struct IPStore IPStore;
334#endif
335
336/*****************************************************************************
337 * IPStore interface
338 */
339#ifndef __IPStore_INTERFACE_DEFINED__
340#define __IPStore_INTERFACE_DEFINED__
341
342#if defined(__cplusplus) && !defined(CINTERFACE)
343struct IPStore : public IUnknown
344{
345 virtual HRESULT STDMETHODCALLTYPE GetInfo(
346 PPST_PROVIDERINFO* ppProperties) = 0;
347
348 virtual HRESULT STDMETHODCALLTYPE GetProvParam(
349 DWORD dwParam,
350 DWORD* pcbData,
351 BYTE** ppbData,
352 DWORD dwFlags) = 0;
353
354 virtual HRESULT STDMETHODCALLTYPE SetProvParam(
355 DWORD dwParam,
356 DWORD cbData,
357 BYTE* pbData,
358 DWORD* dwFlags) = 0;
359
360 virtual HRESULT STDMETHODCALLTYPE CreateType(
361 PST_KEY Key,
362 const GUID* pType,
363 PPST_TYPEINFO pInfo,
364 DWORD dwFlags) = 0;
365
366 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
367 PST_KEY Key,
368 const GUID* pType,
369 PPST_TYPEINFO** ppInfo,
370 DWORD dwFlags) = 0;
371
372 virtual HRESULT STDMETHODCALLTYPE DeleteType(
373 PST_KEY Key,
374 const GUID* pType,
375 DWORD dwFlags) = 0;
376
377 virtual HRESULT STDMETHODCALLTYPE CreateSubtype(
378 PST_KEY Key,
379 const GUID* pType,
380 const GUID* pSubtype,
381 PPST_TYPEINFO pInfo,
382 PPST_ACCESSRULESET pRules,
383 DWORD dwFlags) = 0;
384
385 virtual HRESULT STDMETHODCALLTYPE GetSubtypeInfo(
386 PST_KEY Key,
387 const GUID* pType,
388 const GUID* pSubtype,
389 PPST_TYPEINFO** ppInfo,
390 DWORD dwFlags) = 0;
391
392 virtual HRESULT STDMETHODCALLTYPE DeleteSubtype(
393 PST_KEY Key,
394 const GUID* pType,
395 const GUID* pSubtype,
396 DWORD dwFlags) = 0;
397
398 virtual HRESULT STDMETHODCALLTYPE ReadAccessRuleset(
399 PST_KEY Key,
400 const GUID* pType,
401 const GUID* pSubtype,
402 PPST_TYPEINFO pInfo,
403 PPST_ACCESSRULESET** ppRules,
404 DWORD dwFlags) = 0;
405
406 virtual HRESULT STDMETHODCALLTYPE WriteAccessRuleset(
407 PST_KEY Key,
408 const GUID* pType,
409 const GUID* pSubtype,
410 PPST_TYPEINFO pInfo,
411 PPST_ACCESSRULESET pRules,
412 DWORD dwFlags) = 0;
413
414 virtual HRESULT STDMETHODCALLTYPE EnumTypes(
415 PST_KEY Key,
416 DWORD dwFlags,
417 IEnumPStoreTypes** ppenum) = 0;
418
419 virtual HRESULT STDMETHODCALLTYPE EnumSubtypes(
420 PST_KEY Key,
421 const GUID* pType,
422 DWORD dwFlags,
423 IEnumPStoreTypes** ppenum) = 0;
424
425 virtual HRESULT STDMETHODCALLTYPE DeleteItem(
426 PST_KEY Key,
427 const GUID* pItemType,
428 const GUID* pItemSubType,
429 LPCWSTR szItemName,
430 PPST_PROMPTINFO pPromptInfo,
431 DWORD dwFlags) = 0;
432
433 virtual HRESULT STDMETHODCALLTYPE ReadItem(
434 PST_KEY Key,
435 const GUID* pItemType,
436 const GUID* pItemSubtype,
437 LPCWSTR szItemName,
438 DWORD* cbData,
439 BYTE** pbData,
440 PPST_PROMPTIFO pPromptInfo,
441 DWORD dwFlags) = 0;
442
443 virtual HRESULT STDMETHODCALLTYPE WriteItem(
444 PST_KEY Key,
445 const GUID* pItemType,
446 const GUID* pItemSubtype,
447 LPCWSTR szItemName,
448 DWORD cbData,
449 BYTE* ppbData,
450 PPST_PROMPTIFO pPromptInfo,
451 DWORD dwDefaultConfirmationStyle,
452 DWORD dwFlags) = 0;
453
454 virtual HRESULT STDMETHODCALLTYPE OpenItem(
455 PST_KEY Key,
456 const GUID* pItemType,
457 const GUID* pItemSubtype,
Mike McCormack7ebb09a2004-08-06 17:35:31 +0000458 LPCWSTR szItemName,
Mike McCormackc3b8a202004-04-29 20:00:26 +0000459 PST_ACCESSMODE ModeFlags,
460 PPST_PROMPTIFO pProomptInfo,
461 DWORD dwFlags) = 0;
462
463 virtual HRESULT STDMETHODCALLTYPE CloseItem(
464 PST_KEY Key,
465 const GUID* pItemType,
466 const GUID* pItemSubtype,
467 LPCWSTR* szItemName,
468 DWORD dwFlags) = 0;
469
470 virtual HRESULT STDMETHODCALLTYPE EnumItems(
471 PST_KEY Key,
472 const GUID* pItemType,
473 const GUID* pItemSubtype,
474 DWORD dwFlags,
475 IEnumPStoreItems** ppenum) = 0;
476
477};
478#else
479typedef struct IPStoreVtbl IPStoreVtbl;
480struct IPStore {
481 const IPStoreVtbl* lpVtbl;
482};
483struct IPStoreVtbl {
Mike McCormack77ea0212004-08-22 02:25:05 +0000484 BEGIN_INTERFACE
Mike McCormackc3b8a202004-04-29 20:00:26 +0000485
486 /*** IUnknown methods ***/
487 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
488 IPStore* This,
489 REFIID riid,
490 void** ppvObject);
491
492 ULONG (STDMETHODCALLTYPE *AddRef)(
493 IPStore* This);
494
495 ULONG (STDMETHODCALLTYPE *Release)(
496 IPStore* This);
497
498 /*** IPStore methods ***/
499 HRESULT (STDMETHODCALLTYPE *GetInfo)(
500 IPStore* This,
501 PPST_PROVIDERINFO* ppProperties);
502
503 HRESULT (STDMETHODCALLTYPE *GetProvParam)(
504 IPStore* This,
505 DWORD dwParam,
506 DWORD* pcbData,
507 BYTE** ppbData,
508 DWORD dwFlags);
509
510 HRESULT (STDMETHODCALLTYPE *SetProvParam)(
511 IPStore* This,
512 DWORD dwParam,
513 DWORD cbData,
514 BYTE* pbData,
515 DWORD* dwFlags);
516
517 HRESULT (STDMETHODCALLTYPE *CreateType)(
518 IPStore* This,
519 PST_KEY Key,
520 const GUID* pType,
521 PPST_TYPEINFO pInfo,
522 DWORD dwFlags);
523
524 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
525 IPStore* This,
526 PST_KEY Key,
527 const GUID* pType,
528 PPST_TYPEINFO** ppInfo,
529 DWORD dwFlags);
530
531 HRESULT (STDMETHODCALLTYPE *DeleteType)(
532 IPStore* This,
533 PST_KEY Key,
534 const GUID* pType,
535 DWORD dwFlags);
536
537 HRESULT (STDMETHODCALLTYPE *CreateSubtype)(
538 IPStore* This,
539 PST_KEY Key,
540 const GUID* pType,
541 const GUID* pSubtype,
542 PPST_TYPEINFO pInfo,
543 PPST_ACCESSRULESET pRules,
544 DWORD dwFlags);
545
546 HRESULT (STDMETHODCALLTYPE *GetSubtypeInfo)(
547 IPStore* This,
548 PST_KEY Key,
549 const GUID* pType,
550 const GUID* pSubtype,
551 PPST_TYPEINFO** ppInfo,
552 DWORD dwFlags);
553
554 HRESULT (STDMETHODCALLTYPE *DeleteSubtype)(
555 IPStore* This,
556 PST_KEY Key,
557 const GUID* pType,
558 const GUID* pSubtype,
559 DWORD dwFlags);
560
561 HRESULT (STDMETHODCALLTYPE *ReadAccessRuleset)(
562 IPStore* This,
563 PST_KEY Key,
564 const GUID* pType,
565 const GUID* pSubtype,
566 PPST_TYPEINFO pInfo,
567 PPST_ACCESSRULESET** ppRules,
568 DWORD dwFlags);
569
570 HRESULT (STDMETHODCALLTYPE *WriteAccessRuleset)(
571 IPStore* This,
572 PST_KEY Key,
573 const GUID* pType,
574 const GUID* pSubtype,
575 PPST_TYPEINFO pInfo,
576 PPST_ACCESSRULESET pRules,
577 DWORD dwFlags);
578
579 HRESULT (STDMETHODCALLTYPE *EnumTypes)(
580 IPStore* This,
581 PST_KEY Key,
582 DWORD dwFlags,
583 IEnumPStoreTypes** ppenum);
584
585 HRESULT (STDMETHODCALLTYPE *EnumSubtypes)(
586 IPStore* This,
587 PST_KEY Key,
588 const GUID* pType,
589 DWORD dwFlags,
590 IEnumPStoreTypes** ppenum);
591
592 HRESULT (STDMETHODCALLTYPE *DeleteItem)(
593 IPStore* This,
594 PST_KEY Key,
595 const GUID* pItemType,
596 const GUID* pItemSubType,
597 LPCWSTR szItemName,
598 PPST_PROMPTINFO pPromptInfo,
599 DWORD dwFlags);
600
601 HRESULT (STDMETHODCALLTYPE *ReadItem)(
602 IPStore* This,
603 PST_KEY Key,
604 const GUID* pItemType,
605 const GUID* pItemSubtype,
606 LPCWSTR szItemName,
607 DWORD* cbData,
608 BYTE** pbData,
609 PPST_PROMPTIFO pPromptInfo,
610 DWORD dwFlags);
611
612 HRESULT (STDMETHODCALLTYPE *WriteItem)(
613 IPStore* This,
614 PST_KEY Key,
615 const GUID* pItemType,
616 const GUID* pItemSubtype,
617 LPCWSTR szItemName,
618 DWORD cbData,
619 BYTE* ppbData,
620 PPST_PROMPTIFO pPromptInfo,
621 DWORD dwDefaultConfirmationStyle,
622 DWORD dwFlags);
623
624 HRESULT (STDMETHODCALLTYPE *OpenItem)(
625 IPStore* This,
626 PST_KEY Key,
627 const GUID* pItemType,
628 const GUID* pItemSubtype,
Mike McCormack7ebb09a2004-08-06 17:35:31 +0000629 LPCWSTR szItemName,
Mike McCormackc3b8a202004-04-29 20:00:26 +0000630 PST_ACCESSMODE ModeFlags,
631 PPST_PROMPTIFO pProomptInfo,
632 DWORD dwFlags);
633
634 HRESULT (STDMETHODCALLTYPE *CloseItem)(
635 IPStore* This,
636 PST_KEY Key,
637 const GUID* pItemType,
638 const GUID* pItemSubtype,
639 LPCWSTR* szItemName,
640 DWORD dwFlags);
641
642 HRESULT (STDMETHODCALLTYPE *EnumItems)(
643 IPStore* This,
644 PST_KEY Key,
645 const GUID* pItemType,
646 const GUID* pItemSubtype,
647 DWORD dwFlags,
648 IEnumPStoreItems** ppenum);
649
Mike McCormack77ea0212004-08-22 02:25:05 +0000650 END_INTERFACE
Mike McCormackc3b8a202004-04-29 20:00:26 +0000651};
652
Francois Gougetbf72af32004-08-11 19:43:45 +0000653#ifdef COBJMACROS
Mike McCormackc3b8a202004-04-29 20:00:26 +0000654/*** IUnknown methods ***/
655#define IPStore_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
656#define IPStore_AddRef(p) (p)->lpVtbl->AddRef(p)
657#define IPStore_Release(p) (p)->lpVtbl->Release(p)
658/*** IPStore methods ***/
659#define IPStore_GetInfo(p,a) (p)->lpVtbl->GetInfo(p,a)
660#define IPStore_GetProvParam(p,a,b,c,d) (p)->lpVtbl->GetProvParam(p,a,b,c,d)
661#define IPStore_SetProvParam(p,a,b,c,d) (p)->lpVtbl->SetProvParam(p,a,b,c,d)
662#define IPStore_CreateType(p,a,b,c,d) (p)->lpVtbl->CreateType(p,a,b,c,d)
663#define IPStore_GetTypeInfo(p,a,b,c,d) (p)->lpVtbl->GetTypeInfo(p,a,b,c,d)
664#define IPStore_DeleteType(p,a,b,c) (p)->lpVtbl->DeleteType(p,a,b,c)
665#define IPStore_CreateSubtype(p,a,b,c,d,e,f) (p)->lpVtbl->CreateSubtype(p,a,b,c,d,e,f)
666#define IPStore_GetSubtypeInfo(p,a,b,c,d,e) (p)->lpVtbl->GetSubtypeInfo(p,a,b,c,d,e)
667#define IPStore_DeleteSubtype(p,a,b,c,d) (p)->lpVtbl->DeleteSubtype(p,a,b,c,d)
668#define IPStore_ReadAccessRuleset(p,a,b,c,d,e,f) (p)->lpVtbl->ReadAccessRuleset(p,a,b,c,d,e,f)
669#define IPStore_WriteAccessRuleset(p,a,b,c,d,e,f) (p)->lpVtbl->WriteAccessRuleset(p,a,b,c,d,e,f)
670#define IPStore_EnumTypes(p,a,b,c) (p)->lpVtbl->EnumTypes(p,a,b,c)
671#define IPStore_EnumSubtypes(p,a,b,c,d) (p)->lpVtbl->EnumSubtypes(p,a,b,c,d)
672#define IPStore_DeleteItem(p,a,b,c,d,e,f) (p)->lpVtbl->DeleteItem(p,a,b,c,d,e,f)
673#define IPStore_ReadItem(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ReadItem(p,a,b,c,d,e,f,g,h)
674#define IPStore_WriteItem(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->WriteItem(p,a,b,c,d,e,f,g,h,i)
675#define IPStore_OpenItem(p,a,b,c,d,e,f,g) (p)->lpVtbl->OpenItem(p,a,b,c,d,e,f,g)
676#define IPStore_CloseItem(p,a,b,c,d,e) (p)->lpVtbl->CloseItem(p,a,b,c,d,e)
677#define IPStore_EnumItems(p,a,b,c,d,e) (p)->lpVtbl->EnumItems(p,a,b,c,d,e)
Francois Gougetbf72af32004-08-11 19:43:45 +0000678#endif
Mike McCormackc3b8a202004-04-29 20:00:26 +0000679
680#endif
681
682#define IPStore_METHODS \
Mike McCormackc3b8a202004-04-29 20:00:26 +0000683 /*** IUnknown methods ***/ \
684 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
685 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
686 STDMETHOD_(ULONG,Release)(THIS) PURE; \
687 /*** IPStore methods ***/ \
688 STDMETHOD_(HRESULT,GetInfo)(THIS_ PPST_PROVIDERINFO* ppProperties) PURE; \
689 STDMETHOD_(HRESULT,GetProvParam)(THIS_ DWORD dwParam, DWORD* pcbData, BYTE** ppbData, DWORD dwFlags) PURE; \
690 STDMETHOD_(HRESULT,SetProvParam)(THIS_ DWORD dwParam, DWORD cbData, BYTE* pbData, DWORD* dwFlags) PURE; \
691 STDMETHOD_(HRESULT,CreateType)(THIS_ PST_KEY Key, const GUID* pType, PPST_TYPEINFO pInfo, DWORD dwFlags) PURE; \
692 STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ PST_KEY Key, const GUID* pType, PPST_TYPEINFO** ppInfo, DWORD dwFlags) PURE; \
693 STDMETHOD_(HRESULT,DeleteType)(THIS_ PST_KEY Key, const GUID* pType, DWORD dwFlags) PURE; \
694 STDMETHOD_(HRESULT,CreateSubtype)(THIS_ PST_KEY Key, const GUID* pType, const GUID* pSubtype, PPST_TYPEINFO pInfo, PPST_ACCESSRULESET pRules, DWORD dwFlags) PURE; \
695 STDMETHOD_(HRESULT,GetSubtypeInfo)(THIS_ PST_KEY Key, const GUID* pType, const GUID* pSubtype, PPST_TYPEINFO** ppInfo, DWORD dwFlags) PURE; \
696 STDMETHOD_(HRESULT,DeleteSubtype)(THIS_ PST_KEY Key, const GUID* pType, const GUID* pSubtype, DWORD dwFlags) PURE; \
697 STDMETHOD_(HRESULT,ReadAccessRuleset)(THIS_ PST_KEY Key, const GUID* pType, const GUID* pSubtype, PPST_TYPEINFO pInfo, PPST_ACCESSRULESET** ppRules, DWORD dwFlags) PURE; \
698 STDMETHOD_(HRESULT,WriteAccessRuleset)(THIS_ PST_KEY Key, const GUID* pType, const GUID* pSubtype, PPST_TYPEINFO pInfo, PPST_ACCESSRULESET pRules, DWORD dwFlags) PURE; \
699 STDMETHOD_(HRESULT,EnumTypes)(THIS_ PST_KEY Key, DWORD dwFlags, IEnumPStoreTypes** ppenum) PURE; \
700 STDMETHOD_(HRESULT,EnumSubtypes)(THIS_ PST_KEY Key, const GUID* pType, DWORD dwFlags, IEnumPStoreTypes** ppenum) PURE; \
701 STDMETHOD_(HRESULT,DeleteItem)(THIS_ PST_KEY Key, const GUID* pItemType, const GUID* pItemSubType, LPCWSTR szItemName, PPST_PROMPTINFO pPromptInfo, DWORD dwFlags) PURE; \
702 STDMETHOD_(HRESULT,ReadItem)(THIS_ PST_KEY Key, const GUID* pItemType, const GUID* pItemSubtype, LPCWSTR szItemName, DWORD* cbData, BYTE** pbData, PPST_PROMPTIFO pPromptInfo, DWORD dwFlags) PURE; \
703 STDMETHOD_(HRESULT,WriteItem)(THIS_ PST_KEY Key, const GUID* pItemType, const GUID* pItemSubtype, LPCWSTR szItemName, DWORD cbData, BYTE* ppbData, PPST_PROMPTIFO pPromptInfo, DWORD dwDefaultConfirmationStyle, DWORD dwFlags) PURE; \
Mike McCormack7ebb09a2004-08-06 17:35:31 +0000704 STDMETHOD_(HRESULT,OpenItem)(THIS_ PST_KEY Key, const GUID* pItemType, const GUID* pItemSubtype, LPCWSTR szItemName, PST_ACCESSMODE ModeFlags, PPST_PROMPTIFO pProomptInfo, DWORD dwFlags) PURE; \
Mike McCormackc3b8a202004-04-29 20:00:26 +0000705 STDMETHOD_(HRESULT,CloseItem)(THIS_ PST_KEY Key, const GUID* pItemType, const GUID* pItemSubtype, LPCWSTR* szItemName, DWORD dwFlags) PURE; \
706 STDMETHOD_(HRESULT,EnumItems)(THIS_ PST_KEY Key, const GUID* pItemType, const GUID* pItemSubtype, DWORD dwFlags, IEnumPStoreItems** ppenum) PURE;
707
708HRESULT CALLBACK IPStore_GetInfo_Proxy(
709 IPStore* This,
710 PPST_PROVIDERINFO* ppProperties);
711void __RPC_STUB IPStore_GetInfo_Stub(
712 struct IRpcStubBuffer* This,
713 struct IRpcChannelBuffer* pRpcChannelBuffer,
714 PRPC_MESSAGE pRpcMessage,
715 DWORD* pdwStubPhase);
716HRESULT CALLBACK IPStore_GetProvParam_Proxy(
717 IPStore* This,
718 DWORD dwParam,
719 DWORD* pcbData,
720 BYTE** ppbData,
721 DWORD dwFlags);
722void __RPC_STUB IPStore_GetProvParam_Stub(
723 struct IRpcStubBuffer* This,
724 struct IRpcChannelBuffer* pRpcChannelBuffer,
725 PRPC_MESSAGE pRpcMessage,
726 DWORD* pdwStubPhase);
727HRESULT CALLBACK IPStore_SetProvParam_Proxy(
728 IPStore* This,
729 DWORD dwParam,
730 DWORD cbData,
731 BYTE* pbData,
732 DWORD* dwFlags);
733void __RPC_STUB IPStore_SetProvParam_Stub(
734 struct IRpcStubBuffer* This,
735 struct IRpcChannelBuffer* pRpcChannelBuffer,
736 PRPC_MESSAGE pRpcMessage,
737 DWORD* pdwStubPhase);
738HRESULT CALLBACK IPStore_CreateType_Proxy(
739 IPStore* This,
740 PST_KEY Key,
741 const GUID* pType,
742 PPST_TYPEINFO pInfo,
743 DWORD dwFlags);
744void __RPC_STUB IPStore_CreateType_Stub(
745 struct IRpcStubBuffer* This,
746 struct IRpcChannelBuffer* pRpcChannelBuffer,
747 PRPC_MESSAGE pRpcMessage,
748 DWORD* pdwStubPhase);
749HRESULT CALLBACK IPStore_GetTypeInfo_Proxy(
750 IPStore* This,
751 PST_KEY Key,
752 const GUID* pType,
753 PPST_TYPEINFO** ppInfo,
754 DWORD dwFlags);
755void __RPC_STUB IPStore_GetTypeInfo_Stub(
756 struct IRpcStubBuffer* This,
757 struct IRpcChannelBuffer* pRpcChannelBuffer,
758 PRPC_MESSAGE pRpcMessage,
759 DWORD* pdwStubPhase);
760HRESULT CALLBACK IPStore_DeleteType_Proxy(
761 IPStore* This,
762 PST_KEY Key,
763 const GUID* pType,
764 DWORD dwFlags);
765void __RPC_STUB IPStore_DeleteType_Stub(
766 struct IRpcStubBuffer* This,
767 struct IRpcChannelBuffer* pRpcChannelBuffer,
768 PRPC_MESSAGE pRpcMessage,
769 DWORD* pdwStubPhase);
770HRESULT CALLBACK IPStore_CreateSubtype_Proxy(
771 IPStore* This,
772 PST_KEY Key,
773 const GUID* pType,
774 const GUID* pSubtype,
775 PPST_TYPEINFO pInfo,
776 PPST_ACCESSRULESET pRules,
777 DWORD dwFlags);
778void __RPC_STUB IPStore_CreateSubtype_Stub(
779 struct IRpcStubBuffer* This,
780 struct IRpcChannelBuffer* pRpcChannelBuffer,
781 PRPC_MESSAGE pRpcMessage,
782 DWORD* pdwStubPhase);
783HRESULT CALLBACK IPStore_GetSubtypeInfo_Proxy(
784 IPStore* This,
785 PST_KEY Key,
786 const GUID* pType,
787 const GUID* pSubtype,
788 PPST_TYPEINFO** ppInfo,
789 DWORD dwFlags);
790void __RPC_STUB IPStore_GetSubtypeInfo_Stub(
791 struct IRpcStubBuffer* This,
792 struct IRpcChannelBuffer* pRpcChannelBuffer,
793 PRPC_MESSAGE pRpcMessage,
794 DWORD* pdwStubPhase);
795HRESULT CALLBACK IPStore_DeleteSubtype_Proxy(
796 IPStore* This,
797 PST_KEY Key,
798 const GUID* pType,
799 const GUID* pSubtype,
800 DWORD dwFlags);
801void __RPC_STUB IPStore_DeleteSubtype_Stub(
802 struct IRpcStubBuffer* This,
803 struct IRpcChannelBuffer* pRpcChannelBuffer,
804 PRPC_MESSAGE pRpcMessage,
805 DWORD* pdwStubPhase);
806HRESULT CALLBACK IPStore_ReadAccessRuleset_Proxy(
807 IPStore* This,
808 PST_KEY Key,
809 const GUID* pType,
810 const GUID* pSubtype,
811 PPST_TYPEINFO pInfo,
812 PPST_ACCESSRULESET** ppRules,
813 DWORD dwFlags);
814void __RPC_STUB IPStore_ReadAccessRuleset_Stub(
815 struct IRpcStubBuffer* This,
816 struct IRpcChannelBuffer* pRpcChannelBuffer,
817 PRPC_MESSAGE pRpcMessage,
818 DWORD* pdwStubPhase);
819HRESULT CALLBACK IPStore_WriteAccessRuleset_Proxy(
820 IPStore* This,
821 PST_KEY Key,
822 const GUID* pType,
823 const GUID* pSubtype,
824 PPST_TYPEINFO pInfo,
825 PPST_ACCESSRULESET pRules,
826 DWORD dwFlags);
827void __RPC_STUB IPStore_WriteAccessRuleset_Stub(
828 struct IRpcStubBuffer* This,
829 struct IRpcChannelBuffer* pRpcChannelBuffer,
830 PRPC_MESSAGE pRpcMessage,
831 DWORD* pdwStubPhase);
832HRESULT CALLBACK IPStore_EnumTypes_Proxy(
833 IPStore* This,
834 PST_KEY Key,
835 DWORD dwFlags,
836 IEnumPStoreTypes** ppenum);
837void __RPC_STUB IPStore_EnumTypes_Stub(
838 struct IRpcStubBuffer* This,
839 struct IRpcChannelBuffer* pRpcChannelBuffer,
840 PRPC_MESSAGE pRpcMessage,
841 DWORD* pdwStubPhase);
842HRESULT CALLBACK IPStore_EnumSubtypes_Proxy(
843 IPStore* This,
844 PST_KEY Key,
845 const GUID* pType,
846 DWORD dwFlags,
847 IEnumPStoreTypes** ppenum);
848void __RPC_STUB IPStore_EnumSubtypes_Stub(
849 struct IRpcStubBuffer* This,
850 struct IRpcChannelBuffer* pRpcChannelBuffer,
851 PRPC_MESSAGE pRpcMessage,
852 DWORD* pdwStubPhase);
853HRESULT CALLBACK IPStore_DeleteItem_Proxy(
854 IPStore* This,
855 PST_KEY Key,
856 const GUID* pItemType,
857 const GUID* pItemSubType,
858 LPCWSTR szItemName,
859 PPST_PROMPTINFO pPromptInfo,
860 DWORD dwFlags);
861void __RPC_STUB IPStore_DeleteItem_Stub(
862 struct IRpcStubBuffer* This,
863 struct IRpcChannelBuffer* pRpcChannelBuffer,
864 PRPC_MESSAGE pRpcMessage,
865 DWORD* pdwStubPhase);
866HRESULT CALLBACK IPStore_ReadItem_Proxy(
867 IPStore* This,
868 PST_KEY Key,
869 const GUID* pItemType,
870 const GUID* pItemSubtype,
871 LPCWSTR szItemName,
872 DWORD* cbData,
873 BYTE** pbData,
874 PPST_PROMPTIFO pPromptInfo,
875 DWORD dwFlags);
876void __RPC_STUB IPStore_ReadItem_Stub(
877 struct IRpcStubBuffer* This,
878 struct IRpcChannelBuffer* pRpcChannelBuffer,
879 PRPC_MESSAGE pRpcMessage,
880 DWORD* pdwStubPhase);
881HRESULT CALLBACK IPStore_WriteItem_Proxy(
882 IPStore* This,
883 PST_KEY Key,
884 const GUID* pItemType,
885 const GUID* pItemSubtype,
886 LPCWSTR szItemName,
887 DWORD cbData,
888 BYTE* ppbData,
889 PPST_PROMPTIFO pPromptInfo,
890 DWORD dwDefaultConfirmationStyle,
891 DWORD dwFlags);
892void __RPC_STUB IPStore_WriteItem_Stub(
893 struct IRpcStubBuffer* This,
894 struct IRpcChannelBuffer* pRpcChannelBuffer,
895 PRPC_MESSAGE pRpcMessage,
896 DWORD* pdwStubPhase);
897HRESULT CALLBACK IPStore_OpenItem_Proxy(
898 IPStore* This,
899 PST_KEY Key,
900 const GUID* pItemType,
901 const GUID* pItemSubtype,
Mike McCormack7ebb09a2004-08-06 17:35:31 +0000902 LPCWSTR szItemName,
Mike McCormackc3b8a202004-04-29 20:00:26 +0000903 PST_ACCESSMODE ModeFlags,
904 PPST_PROMPTIFO pProomptInfo,
905 DWORD dwFlags);
906void __RPC_STUB IPStore_OpenItem_Stub(
907 struct IRpcStubBuffer* This,
908 struct IRpcChannelBuffer* pRpcChannelBuffer,
909 PRPC_MESSAGE pRpcMessage,
910 DWORD* pdwStubPhase);
911HRESULT CALLBACK IPStore_CloseItem_Proxy(
912 IPStore* This,
913 PST_KEY Key,
914 const GUID* pItemType,
915 const GUID* pItemSubtype,
916 LPCWSTR* szItemName,
917 DWORD dwFlags);
918void __RPC_STUB IPStore_CloseItem_Stub(
919 struct IRpcStubBuffer* This,
920 struct IRpcChannelBuffer* pRpcChannelBuffer,
921 PRPC_MESSAGE pRpcMessage,
922 DWORD* pdwStubPhase);
923HRESULT CALLBACK IPStore_EnumItems_Proxy(
924 IPStore* This,
925 PST_KEY Key,
926 const GUID* pItemType,
927 const GUID* pItemSubtype,
928 DWORD dwFlags,
929 IEnumPStoreItems** ppenum);
930void __RPC_STUB IPStore_EnumItems_Stub(
931 struct IRpcStubBuffer* This,
932 struct IRpcChannelBuffer* pRpcChannelBuffer,
933 PRPC_MESSAGE pRpcMessage,
934 DWORD* pdwStubPhase);
935
936#endif /* __IPStore_INTERFACE_DEFINED__ */
937
938#ifdef __cplusplus
939}
940#endif
941#endif /* __WIDL_PSTORE_H */