OLD | NEW |
| (Empty) |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CHROME_BROWSER_IMPORTER_PSTORE_DECLARATIONS_H_ | |
6 #define CHROME_BROWSER_IMPORTER_PSTORE_DECLARATIONS_H_ | |
7 | |
8 #ifdef __PSTORE_H__ | |
9 #error Should not include pstore.h and this file simultaneously. | |
10 #endif | |
11 | |
12 #include <ole2.h> | |
13 | |
14 // pstore.h is no longer shipped in the Windows 8 SDK. Define a minimal set | |
15 // here. | |
16 | |
17 // These types are referenced in interfaces we use, but our code does not use | |
18 // refer to these types, so simply make them opaque. | |
19 class IEnumPStoreTypes; | |
20 struct PST_ACCESSRULESET; | |
21 struct PST_PROMPTINFO; | |
22 struct PST_PROVIDERINFO; | |
23 struct PST_TYPEINFO; | |
24 | |
25 EXTERN_C const IID IID_IPStore; | |
26 EXTERN_C const IID IID_IEnumPStoreItems; | |
27 | |
28 typedef DWORD PST_KEY; | |
29 typedef DWORD PST_ACCESSMODE; | |
30 #define PST_E_OK _HRESULT_TYPEDEF_(0x00000000L) | |
31 | |
32 interface IEnumPStoreItems : public IUnknown | |
33 { | |
34 public: | |
35 virtual HRESULT STDMETHODCALLTYPE Next( | |
36 DWORD celt, | |
37 LPWSTR __RPC_FAR *rgelt, | |
38 DWORD __RPC_FAR *pceltFetched) = 0; | |
39 | |
40 virtual HRESULT STDMETHODCALLTYPE Skip(DWORD celt) = 0; | |
41 | |
42 virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0; | |
43 | |
44 virtual HRESULT STDMETHODCALLTYPE Clone( | |
45 IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum) = 0; | |
46 }; | |
47 | |
48 interface IPStore : public IUnknown | |
49 { | |
50 public: | |
51 virtual HRESULT STDMETHODCALLTYPE GetInfo( | |
52 PST_PROVIDERINFO* __RPC_FAR *ppProperties) = 0; | |
53 | |
54 virtual HRESULT STDMETHODCALLTYPE GetProvParam( | |
55 DWORD dwParam, | |
56 DWORD __RPC_FAR *pcbData, | |
57 BYTE __RPC_FAR *__RPC_FAR *ppbData, | |
58 DWORD dwFlags) = 0; | |
59 | |
60 virtual HRESULT STDMETHODCALLTYPE SetProvParam( | |
61 DWORD dwParam, | |
62 DWORD cbData, | |
63 BYTE __RPC_FAR *pbData, | |
64 DWORD dwFlags) = 0; | |
65 | |
66 virtual HRESULT STDMETHODCALLTYPE CreateType( | |
67 PST_KEY Key, | |
68 const GUID __RPC_FAR *pType, | |
69 PST_TYPEINFO* pInfo, | |
70 DWORD dwFlags) = 0; | |
71 | |
72 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( | |
73 PST_KEY Key, | |
74 const GUID __RPC_FAR *pType, | |
75 PST_TYPEINFO* __RPC_FAR *ppInfo, | |
76 DWORD dwFlags) = 0; | |
77 | |
78 virtual HRESULT STDMETHODCALLTYPE DeleteType( | |
79 PST_KEY Key, | |
80 const GUID __RPC_FAR *pType, | |
81 DWORD dwFlags) = 0; | |
82 | |
83 virtual HRESULT STDMETHODCALLTYPE CreateSubtype( | |
84 PST_KEY Key, | |
85 const GUID __RPC_FAR *pType, | |
86 const GUID __RPC_FAR *pSubtype, | |
87 PST_TYPEINFO* pInfo, | |
88 PST_ACCESSRULESET* pRules, | |
89 DWORD dwFlags) = 0; | |
90 | |
91 virtual HRESULT STDMETHODCALLTYPE GetSubtypeInfo( | |
92 PST_KEY Key, | |
93 const GUID __RPC_FAR *pType, | |
94 const GUID __RPC_FAR *pSubtype, | |
95 PST_TYPEINFO* __RPC_FAR *ppInfo, | |
96 DWORD dwFlags) = 0; | |
97 | |
98 virtual HRESULT STDMETHODCALLTYPE DeleteSubtype( | |
99 PST_KEY Key, | |
100 const GUID __RPC_FAR *pType, | |
101 const GUID __RPC_FAR *pSubtype, | |
102 DWORD dwFlags) = 0; | |
103 | |
104 virtual HRESULT STDMETHODCALLTYPE ReadAccessRuleset( | |
105 PST_KEY Key, | |
106 const GUID __RPC_FAR *pType, | |
107 const GUID __RPC_FAR *pSubtype, | |
108 PST_ACCESSRULESET* __RPC_FAR *ppRules, | |
109 DWORD dwFlags) = 0; | |
110 | |
111 virtual HRESULT STDMETHODCALLTYPE WriteAccessRuleset( | |
112 PST_KEY Key, | |
113 const GUID __RPC_FAR *pType, | |
114 const GUID __RPC_FAR *pSubtype, | |
115 PST_ACCESSRULESET* pRules, | |
116 DWORD dwFlags) = 0; | |
117 | |
118 virtual HRESULT STDMETHODCALLTYPE EnumTypes( | |
119 PST_KEY Key, | |
120 DWORD dwFlags, | |
121 IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum) = 0; | |
122 | |
123 virtual HRESULT STDMETHODCALLTYPE EnumSubtypes( | |
124 PST_KEY Key, | |
125 const GUID __RPC_FAR *pType, | |
126 DWORD dwFlags, | |
127 IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum) = 0; | |
128 | |
129 virtual HRESULT STDMETHODCALLTYPE DeleteItem( | |
130 PST_KEY Key, | |
131 const GUID __RPC_FAR *pItemType, | |
132 const GUID __RPC_FAR *pItemSubtype, | |
133 LPCWSTR szItemName, | |
134 PST_PROMPTINFO* pPromptInfo, | |
135 DWORD dwFlags) = 0; | |
136 | |
137 virtual HRESULT STDMETHODCALLTYPE ReadItem( | |
138 PST_KEY Key, | |
139 const GUID __RPC_FAR *pItemType, | |
140 const GUID __RPC_FAR *pItemSubtype, | |
141 LPCWSTR szItemName, | |
142 DWORD __RPC_FAR *pcbData, | |
143 BYTE __RPC_FAR *__RPC_FAR *ppbData, | |
144 PST_PROMPTINFO* pPromptInfo, | |
145 DWORD dwFlags) = 0; | |
146 | |
147 virtual HRESULT STDMETHODCALLTYPE WriteItem( | |
148 PST_KEY Key, | |
149 const GUID __RPC_FAR *pItemType, | |
150 const GUID __RPC_FAR *pItemSubtype, | |
151 LPCWSTR szItemName, | |
152 DWORD cbData, | |
153 BYTE __RPC_FAR *pbData, | |
154 PST_PROMPTINFO* pPromptInfo, | |
155 DWORD dwDefaultConfirmationStyle, | |
156 DWORD dwFlags) = 0; | |
157 | |
158 virtual HRESULT STDMETHODCALLTYPE OpenItem( | |
159 PST_KEY Key, | |
160 const GUID __RPC_FAR *pItemType, | |
161 const GUID __RPC_FAR *pItemSubtype, | |
162 LPCWSTR szItemName, | |
163 PST_ACCESSMODE ModeFlags, | |
164 PST_PROMPTINFO* pPromptInfo, | |
165 DWORD dwFlags) = 0; | |
166 | |
167 virtual HRESULT STDMETHODCALLTYPE CloseItem( | |
168 PST_KEY Key, | |
169 const GUID __RPC_FAR *pItemType, | |
170 const GUID __RPC_FAR *pItemSubtype, | |
171 LPCWSTR szItemName, | |
172 DWORD dwFlags) = 0; | |
173 | |
174 virtual HRESULT STDMETHODCALLTYPE EnumItems( | |
175 PST_KEY Key, | |
176 const GUID __RPC_FAR *pItemType, | |
177 const GUID __RPC_FAR *pItemSubtype, | |
178 DWORD dwFlags, | |
179 IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum) = 0; | |
180 }; | |
181 | |
182 #endif // CHROME_BROWSER_IMPORTER_PSTORE_DECLARATIONS_H_ | |
OLD | NEW |