ReactOS  0.4.13-dev-563-g0561610
pstore.idl
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2004 Mike McCormack
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 import "oaidl.idl";
20 
21 cpp_quote("#define PST_KEY_CURRENT_USER 0")
22 cpp_quote("#define PST_KEY_LOCAL_MACHINE 1")
23 
24 cpp_quote("#define PST_E_OK 0x00000000L")
25 cpp_quote("#define PST_E_TYPE_EXISTS 0x800C0004L")
26 
27 cpp_quote("#define PST_AUTHENTICODE 1")
28 cpp_quote("#define PST_BINARY_CHECK 2")
29 cpp_quote("#define PST_SECURITY_DESCRIPTOR 4")
30 
31 typedef DWORD PST_ACCESSMODE;
33 typedef DWORD PST_KEY;
36 
37 /*****************************************************************************
38  * PSTOREC library
39  */
40 [
41  uuid(5a6f1ebd-2db1-11d0-8c39-00c04fd9126b),
42  version(1.0),
43  helpstring("PStore 1.0 Type Library")
44 ]
46 {
47  importlib("stdole2.tlb");
48 
49 typedef struct _PST_PROVIDERINFO
50 {
56 
57 typedef struct _PST_PROMPTINFO
58 {
64 
65 typedef struct _PST_ACCESSCLAUSE {
71 
72 typedef struct _PST_ACCESSRULE {
78 
79 typedef struct _PST_ACCESSRULESET {
84 
85 typedef struct _PST_TYPEINFO {
89 
90 [
91  object,
92  uuid(5a6f1ec1-2db1-11d0-8c39-00c04fd9126b),
94 ]
96 {
97  HRESULT Clone(
98  [in] IEnumPStoreItems** ppenum );
99 
100  HRESULT Next(
101  [in] DWORD celt,
102  [in] LPWSTR* rgelt,
103  [in] DWORD* pceltFetched );
104 
105  HRESULT Reset();
106 
107  HRESULT Skip(
108  [in] DWORD celt );
109 }
110 
111 [
112  object,
113  uuid(789c1cbf-31ee-11d0-8c39-00c04fd9126b),
115 ]
117 {
118  HRESULT Clone(
119  [in] IEnumPStoreTypes** ppenum );
120 
121  HRESULT Next(
122  [in] DWORD celt,
123  [in] LPWSTR* rgelt,
124  [in] DWORD* pceltFetched );
125 
126  HRESULT Reset();
127 
128  HRESULT Skip(
129  [in] DWORD celt );
130 }
131 
132 /*****************************************************************************
133  * IPStore interface
134  */
135 [
136  object,
137  uuid(5a6f1ec0-2db1-11d0-8c39-00c04fd9126b),
139 ]
140 interface IPStore : IUnknown
141 {
143  [in] PPST_PROVIDERINFO* ppProperties );
144 
145  HRESULT GetProvParam(
146  [in] DWORD dwParam,
147  [out] DWORD* pcbData,
148  [out] BYTE** ppbData,
149  [in] DWORD dwFlags );
150 
151  HRESULT SetProvParam(
152  [in] DWORD dwParam,
153  [in] DWORD cbData,
154  [in] BYTE* pbData,
155  [in] DWORD* dwFlags );
156 
157  HRESULT CreateType(
158  [in] PST_KEY Key,
159  [in] const GUID* pType,
160  [in] PPST_TYPEINFO pInfo,
161  [in] DWORD dwFlags );
162 
163  HRESULT GetTypeInfo(
164  [in] PST_KEY Key,
165  [in] const GUID* pType,
166  [in] PPST_TYPEINFO** ppInfo,
167  [in] DWORD dwFlags );
168 
169  HRESULT DeleteType(
170  [in] PST_KEY Key,
171  [in] const GUID* pType,
172  [in] DWORD dwFlags );
173 
174  HRESULT CreateSubtype(
175  [in] PST_KEY Key,
176  [in] const GUID* pType,
177  [in] const GUID* pSubtype,
178  [in] PPST_TYPEINFO pInfo,
179  [in] PPST_ACCESSRULESET pRules,
180  [in] DWORD dwFlags );
181 
182  HRESULT GetSubtypeInfo(
183  [in] PST_KEY Key,
184  [in] const GUID* pType,
185  [in] const GUID* pSubtype,
186  [in] PPST_TYPEINFO** ppInfo,
187  [in] DWORD dwFlags );
188 
189  HRESULT DeleteSubtype(
190  [in] PST_KEY Key,
191  [in] const GUID* pType,
192  [in] const GUID* pSubtype,
193  [in] DWORD dwFlags );
194 
195  HRESULT ReadAccessRuleset(
196  [in] PST_KEY Key,
197  [in] const GUID* pType,
198  [in] const GUID* pSubtype,
199  [in] PPST_TYPEINFO pInfo,
200  [in] PPST_ACCESSRULESET** ppRules,
201  [in] DWORD dwFlags );
202 
203  HRESULT WriteAccessRuleset(
204  [in] PST_KEY Key,
205  [in] const GUID* pType,
206  [in] const GUID* pSubtype,
207  [in] PPST_TYPEINFO pInfo,
208  [in] PPST_ACCESSRULESET pRules,
209  [in] DWORD dwFlags );
210 
211  HRESULT EnumTypes(
212  [in] PST_KEY Key,
213  [in] DWORD dwFlags,
214  [in] IEnumPStoreTypes** ppenum );
215 
216  HRESULT EnumSubtypes(
217  [in] PST_KEY Key,
218  [in] const GUID* pType,
219  [in] DWORD dwFlags,
220  [in] IEnumPStoreTypes** ppenum );
221 
223  [in] PST_KEY Key,
224  [in] const GUID* pItemType,
225  [in] const GUID* pItemSubType,
226  [in] LPCWSTR szItemName,
227  [in] PPST_PROMPTINFO pPromptInfo,
228  [in] DWORD dwFlags );
229 
230  HRESULT ReadItem(
231  [in] PST_KEY Key,
232  [in] const GUID* pItemType,
233  [in] const GUID* pItemSubtype,
234  [in] LPCWSTR szItemName,
235  [in] DWORD *cbData,
236  [in] BYTE** pbData,
237  [in] PPST_PROMPTINFO pPromptInfo,
238  [in] DWORD dwFlags );
239 
240  HRESULT WriteItem(
241  [in] PST_KEY Key,
242  [in] const GUID* pItemType,
243  [in] const GUID* pItemSubtype,
244  [in] LPCWSTR szItemName,
245  [in] DWORD cbData,
246  [in,size_is(cbData)] BYTE *ppbData,
247  [in] PPST_PROMPTINFO pPromptInfo,
248  [in] DWORD dwDefaultConfirmationStyle,
249  [in] DWORD dwFlags);
250 
251  HRESULT OpenItem(
252  [in] PST_KEY Key,
253  [in] const GUID* pItemType,
254  [in] const GUID* pItemSubtype,
255  [in] LPCWSTR szItemName,
256  [in] PST_ACCESSMODE ModeFlags,
257  [in] PPST_PROMPTINFO pProomptInfo,
258  [in] DWORD dwFlags );
259 
260  HRESULT CloseItem(
261  [in] PST_KEY Key,
262  [in] const GUID* pItemType,
263  [in] const GUID* pItemSubtype,
264  [in] LPCWSTR* szItemName,
265  [in] DWORD dwFlags );
266 
267  HRESULT EnumItems(
268  [in] PST_KEY Key,
269  [in] const GUID* pItemType,
270  [in] const GUID* pItemSubtype,
271  [in] DWORD dwFlags,
272  [in] IEnumPStoreItems** ppenum );
273 }
274 
275 };
Type
Definition: Type.h:6
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
struct PSTORECLib::_PST_ACCESSRULE * PPST_ACCESSRULE
struct PSTORECLib::_PST_ACCESSRULESET * PPST_ACCESSRULESET
typedef helpstring
importlib("stdole2.tlb")
FT_Library library
Definition: cffdrivr.c:654
static LRESULT GetInfo(const CodecInfo *pi, ICINFO *icinfo, DWORD dwSize)
Definition: msrle32.c:1168
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
PST_ACCESSCLAUSE * rgClauses
Definition: pstore.idl:76
struct PSTORECLib::_PST_PROVIDERINFO * PPST_PROVIDERINFO
static const WCHAR version[]
Definition: asmname.c:64
DWORD PST_KEY
Definition: pstore.idl:33
PST_ACCESSRULE * rgRules
Definition: pstore.idl:82
PST_ACCESSCLAUSETYPE ClauseType
Definition: pstore.idl:67
struct PSTORECLib::_PST_PROMPTINFO PST_PROMPTINFO
LONG HRESULT
Definition: typedefs.h:77
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD PST_ACCESSCLAUSETYPE
Definition: pstore.idl:32
PST_PROVIDERCAPABILITIES Capabilities
Definition: pstore.idl:53
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
unsigned char BYTE
Definition: mem.h:68
struct PSTORECLib::_PST_PROMPTINFO * PPST_PROMPTINFO
PST_ACCESSMODE AccessModeFlags
Definition: pstore.idl:74
struct PSTORECLib::_PST_PROVIDERINFO PST_PROVIDERINFO
GLuint in
Definition: glext.h:9616
struct PSTORECLib::_PST_TYPEINFO PST_TYPEINFO
static unsigned char pointer_default
Definition: parser.tab.c:114
#define DeleteItem
Definition: userenv.h:210
PST_SECURITY_DESCRIPTOR typedef DWORD PST_ACCESSMODE
Definition: pstore.idl:29
struct PSTORECLib::_PST_ACCESSRULE PST_ACCESSRULE
Definition: msctf.idl:510
struct PSTORECLib::_PST_ACCESSRULESET PST_ACCESSRULESET
struct PSTORECLib::_PST_TYPEINFO * PPST_TYPEINFO
WCHAR * LPWSTR
Definition: xmlstorage.h:184
struct PSTORECLib::_PST_ACCESSCLAUSE PST_ACCESSCLAUSE
DWORD PST_PROVIDERCAPABILITIES
Definition: pstore.idl:34
void * object
Definition: jmemsys.h:48
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
Definition: wincrypt.h:4953
struct PSTORECLib::_PST_ACCESSCLAUSE * PPST_ACCESSCLAUSE
_In_ HCRYPTHASH _In_ BOOL _In_ DWORD _Inout_updates_bytes_to_ pdwDataLen BYTE * pbData
Definition: wincrypt.h:4201