VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/pstore.idl@ 69505

Last change on this file since 69505 was 53206, checked in by vboxsync, 10 years ago

Devices/vmsvga: header fixes

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