VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/pstore.idl@ 30705

Last change on this file since 30705 was 23571, checked in by vboxsync, 15 years ago

crOpenGL: update to wine 1.1.30

  • Property svn:eol-style set to native
File size: 7.4 KB
Line 
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/*
20 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28import "oaidl.idl";
29
30cpp_quote("#define PST_KEY_CURRENT_USER 0")
31cpp_quote("#define PST_KEY_LOCAL_MACHINE 1")
32
33cpp_quote("#define PST_E_OK 0x00000000L")
34cpp_quote("#define PST_E_TYPE_EXISTS 0x800C0004L")
35
36cpp_quote("#define PST_AUTHENTICODE 1")
37cpp_quote("#define PST_BINARY_CHECK 2")
38cpp_quote("#define PST_SECURITY_DESCRIPTOR 4")
39
40typedef DWORD PST_ACCESSMODE;
41typedef DWORD PST_ACCESSCLAUSETYPE;
42typedef DWORD PST_KEY;
43typedef DWORD PST_PROVIDERCAPABILITIES;
44typedef GUID PST_PROVIDERID, *PPST_PROVIDERID;
45
46/*****************************************************************************
47 * PSTOREC library
48 */
49[
50 uuid(5a6f1ebd-2db1-11d0-8c39-00c04fd9126b),
51 version(1.0),
52 helpstring("PStore 1.0 Type Library")
53]
54library PSTORECLib
55{
56 importlib("stdole2.tlb");
57
58typedef struct _PST_PROVIDERINFO
59{
60 DWORD cbSize;
61 PST_PROVIDERID ID;
62 PST_PROVIDERCAPABILITIES Capabilities;
63 LPWSTR szProviderName;
64} PST_PROVIDERINFO, *PPST_PROVIDERINFO;
65
66typedef struct _PST_PROMPTINFO
67{
68 DWORD cbSize;
69 DWORD dwPromptFlags;
70 HWND hwndApp;
71 LPCWSTR szPrompt;
72} PST_PROMPTINFO, *PPST_PROMPTINFO;
73
74typedef struct _PST_ACCESSCLAUSE {
75 DWORD cbSize;
76 PST_ACCESSCLAUSETYPE ClauseType;
77 DWORD cbClauseData;
78 BYTE* pbClauseData;
79} PST_ACCESSCLAUSE, *PPST_ACCESSCLAUSE;
80
81typedef struct _PST_ACCESSRULE {
82 DWORD cbSize;
83 PST_ACCESSMODE AccessModeFlags;
84 DWORD cClauses;
85 PST_ACCESSCLAUSE* rgClauses;
86} PST_ACCESSRULE, *PPST_ACCESSRULE;
87
88typedef struct _PST_ACCESSRULESET {
89 DWORD cbSize;
90 DWORD cClause;
91 PST_ACCESSRULE* rgRules;
92} PST_ACCESSRULESET, *PPST_ACCESSRULESET;
93
94typedef struct _PST_TYPEINFO {
95 DWORD cbSize;
96 LPWSTR szDisplayName;
97} PST_TYPEINFO, *PPST_TYPEINFO;
98
99[
100 object,
101 uuid(5a6f1ec1-2db1-11d0-8c39-00c04fd9126b),
102 pointer_default(unique)
103]
104interface IEnumPStoreItems : IUnknown
105{
106 HRESULT Clone(
107 [in] IEnumPStoreItems** ppenum );
108
109 HRESULT Next(
110 [in] DWORD celt,
111 [in] LPWSTR* rgelt,
112 [in] DWORD* pceltFetched );
113
114 HRESULT Reset();
115
116 HRESULT Skip(
117 [in] DWORD celt );
118}
119
120[
121 object,
122 uuid(789c1cbf-31ee-11d0-8c39-00c04fd9126b),
123 pointer_default(unique)
124]
125interface IEnumPStoreTypes : IUnknown
126{
127 HRESULT Clone(
128 [in] IEnumPStoreTypes** ppenum );
129
130 HRESULT Next(
131 [in] DWORD celt,
132 [in] LPWSTR* rgelt,
133 [in] DWORD* pceltFetched );
134
135 HRESULT Reset();
136
137 HRESULT Skip(
138 [in] DWORD celt );
139}
140
141/*****************************************************************************
142 * IPStore interface
143 */
144[
145 object,
146 uuid(5a6f1ec0-2db1-11d0-8c39-00c04fd9126b),
147 pointer_default(unique)
148]
149interface IPStore : IUnknown
150{
151 HRESULT GetInfo(
152 [in] PPST_PROVIDERINFO* ppProperties );
153
154 HRESULT GetProvParam(
155 [in] DWORD dwParam,
156 [out] DWORD* pcbData,
157 [out] BYTE** ppbData,
158 [in] DWORD dwFlags );
159
160 HRESULT SetProvParam(
161 [in] DWORD dwParam,
162 [in] DWORD cbData,
163 [in] BYTE* pbData,
164 [in] DWORD* dwFlags );
165
166 HRESULT CreateType(
167 [in] PST_KEY Key,
168 [in] const GUID* pType,
169 [in] PPST_TYPEINFO pInfo,
170 [in] DWORD dwFlags );
171
172 HRESULT GetTypeInfo(
173 [in] PST_KEY Key,
174 [in] const GUID* pType,
175 [in] PPST_TYPEINFO** ppInfo,
176 [in] DWORD dwFlags );
177
178 HRESULT DeleteType(
179 [in] PST_KEY Key,
180 [in] const GUID* pType,
181 [in] DWORD dwFlags );
182
183 HRESULT CreateSubtype(
184 [in] PST_KEY Key,
185 [in] const GUID* pType,
186 [in] const GUID* pSubtype,
187 [in] PPST_TYPEINFO pInfo,
188 [in] PPST_ACCESSRULESET pRules,
189 [in] DWORD dwFlags );
190
191 HRESULT GetSubtypeInfo(
192 [in] PST_KEY Key,
193 [in] const GUID* pType,
194 [in] const GUID* pSubtype,
195 [in] PPST_TYPEINFO** ppInfo,
196 [in] DWORD dwFlags );
197
198 HRESULT DeleteSubtype(
199 [in] PST_KEY Key,
200 [in] const GUID* pType,
201 [in] const GUID* pSubtype,
202 [in] DWORD dwFlags );
203
204 HRESULT ReadAccessRuleset(
205 [in] PST_KEY Key,
206 [in] const GUID* pType,
207 [in] const GUID* pSubtype,
208 [in] PPST_TYPEINFO pInfo,
209 [in] PPST_ACCESSRULESET** ppRules,
210 [in] DWORD dwFlags );
211
212 HRESULT WriteAccessRuleset(
213 [in] PST_KEY Key,
214 [in] const GUID* pType,
215 [in] const GUID* pSubtype,
216 [in] PPST_TYPEINFO pInfo,
217 [in] PPST_ACCESSRULESET pRules,
218 [in] DWORD dwFlags );
219
220 HRESULT EnumTypes(
221 [in] PST_KEY Key,
222 [in] DWORD dwFlags,
223 [in] IEnumPStoreTypes** ppenum );
224
225 HRESULT EnumSubtypes(
226 [in] PST_KEY Key,
227 [in] const GUID* pType,
228 [in] DWORD dwFlags,
229 [in] IEnumPStoreTypes** ppenum );
230
231 HRESULT DeleteItem(
232 [in] PST_KEY Key,
233 [in] const GUID* pItemType,
234 [in] const GUID* pItemSubType,
235 [in] LPCWSTR szItemName,
236 [in] PPST_PROMPTINFO pPromptInfo,
237 [in] DWORD dwFlags );
238
239 HRESULT ReadItem(
240 [in] PST_KEY Key,
241 [in] const GUID* pItemType,
242 [in] const GUID* pItemSubtype,
243 [in] LPCWSTR szItemName,
244 [in] DWORD *cbData,
245 [in] BYTE** pbData,
246 [in] PPST_PROMPTINFO pPromptInfo,
247 [in] DWORD dwFlags );
248
249 HRESULT WriteItem(
250 [in] PST_KEY Key,
251 [in] const GUID* pItemType,
252 [in] const GUID* pItemSubtype,
253 [in] LPCWSTR szItemName,
254 [in] DWORD cbData,
255 [in,size_is(cbData)] BYTE *ppbData,
256 [in] PPST_PROMPTINFO pPromptInfo,
257 [in] DWORD dwDefaultConfirmationStyle,
258 [in] DWORD dwFlags);
259
260 HRESULT OpenItem(
261 [in] PST_KEY Key,
262 [in] const GUID* pItemType,
263 [in] const GUID* pItemSubtype,
264 [in] LPCWSTR szItemName,
265 [in] PST_ACCESSMODE ModeFlags,
266 [in] PPST_PROMPTINFO pProomptInfo,
267 [in] DWORD dwFlags );
268
269 HRESULT CloseItem(
270 [in] PST_KEY Key,
271 [in] const GUID* pItemType,
272 [in] const GUID* pItemSubtype,
273 [in] LPCWSTR* szItemName,
274 [in] DWORD dwFlags );
275
276 HRESULT EnumItems(
277 [in] PST_KEY Key,
278 [in] const GUID* pItemType,
279 [in] const GUID* pItemSubtype,
280 [in] DWORD dwFlags,
281 [in] IEnumPStoreItems** ppenum );
282}
283
284};
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette