Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenpstore.idl
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2004 Mike McCormack 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 import "oaidl.idl"; 00020 00021 cpp_quote("#define PST_KEY_CURRENT_USER 0") 00022 cpp_quote("#define PST_KEY_LOCAL_MACHINE 1") 00023 00024 cpp_quote("#define PST_E_OK 0x00000000L") 00025 cpp_quote("#define PST_E_TYPE_EXISTS 0x800C0004L") 00026 00027 cpp_quote("#define PST_AUTHENTICODE 1") 00028 cpp_quote("#define PST_BINARY_CHECK 2") 00029 cpp_quote("#define PST_SECURITY_DESCRIPTOR 4") 00030 00031 typedef DWORD PST_ACCESSMODE; 00032 typedef DWORD PST_ACCESSCLAUSETYPE; 00033 typedef DWORD PST_KEY; 00034 typedef DWORD PST_PROVIDERCAPABILITIES; 00035 typedef GUID PST_PROVIDERID, *PPST_PROVIDERID; 00036 00037 /***************************************************************************** 00038 * PSTOREC library 00039 */ 00040 [ 00041 uuid(5a6f1ebd-2db1-11d0-8c39-00c04fd9126b), 00042 version(1.0), 00043 helpstring("PStore 1.0 Type Library") 00044 ] 00045 library PSTORECLib 00046 { 00047 importlib("stdole2.tlb"); 00048 00049 typedef struct _PST_PROVIDERINFO 00050 { 00051 DWORD cbSize; 00052 PST_PROVIDERID ID; 00053 PST_PROVIDERCAPABILITIES Capabilities; 00054 LPWSTR szProviderName; 00055 } PST_PROVIDERINFO, *PPST_PROVIDERINFO; 00056 00057 typedef struct _PST_PROMPTINFO 00058 { 00059 DWORD cbSize; 00060 DWORD dwPromptFlags; 00061 HWND hwndApp; 00062 LPCWSTR szPrompt; 00063 } PST_PROMPTINFO, *PPST_PROMPTINFO; 00064 00065 typedef struct _PST_ACCESSCLAUSE { 00066 DWORD cbSize; 00067 PST_ACCESSCLAUSETYPE ClauseType; 00068 DWORD cbClauseData; 00069 BYTE* pbClauseData; 00070 } PST_ACCESSCLAUSE, *PPST_ACCESSCLAUSE; 00071 00072 typedef struct _PST_ACCESSRULE { 00073 DWORD cbSize; 00074 PST_ACCESSMODE AccessModeFlags; 00075 DWORD cClauses; 00076 PST_ACCESSCLAUSE* rgClauses; 00077 } PST_ACCESSRULE, *PPST_ACCESSRULE; 00078 00079 typedef struct _PST_ACCESSRULESET { 00080 DWORD cbSize; 00081 DWORD cClause; 00082 PST_ACCESSRULE* rgRules; 00083 } PST_ACCESSRULESET, *PPST_ACCESSRULESET; 00084 00085 typedef struct _PST_TYPEINFO { 00086 DWORD cbSize; 00087 LPWSTR szDisplayName; 00088 } PST_TYPEINFO, *PPST_TYPEINFO; 00089 00090 [ 00091 object, 00092 uuid(5a6f1ec1-2db1-11d0-8c39-00c04fd9126b), 00093 pointer_default(unique) 00094 ] 00095 interface IEnumPStoreItems : IUnknown 00096 { 00097 HRESULT Clone( 00098 [in] IEnumPStoreItems** ppenum ); 00099 00100 HRESULT Next( 00101 [in] DWORD celt, 00102 [in] LPWSTR* rgelt, 00103 [in] DWORD* pceltFetched ); 00104 00105 HRESULT Reset(); 00106 00107 HRESULT Skip( 00108 [in] DWORD celt ); 00109 } 00110 00111 [ 00112 object, 00113 uuid(789c1cbf-31ee-11d0-8c39-00c04fd9126b), 00114 pointer_default(unique) 00115 ] 00116 interface IEnumPStoreTypes : IUnknown 00117 { 00118 HRESULT Clone( 00119 [in] IEnumPStoreTypes** ppenum ); 00120 00121 HRESULT Next( 00122 [in] DWORD celt, 00123 [in] LPWSTR* rgelt, 00124 [in] DWORD* pceltFetched ); 00125 00126 HRESULT Reset(); 00127 00128 HRESULT Skip( 00129 [in] DWORD celt ); 00130 } 00131 00132 /***************************************************************************** 00133 * IPStore interface 00134 */ 00135 [ 00136 object, 00137 uuid(5a6f1ec0-2db1-11d0-8c39-00c04fd9126b), 00138 pointer_default(unique) 00139 ] 00140 interface IPStore : IUnknown 00141 { 00142 HRESULT GetInfo( 00143 [in] PPST_PROVIDERINFO* ppProperties ); 00144 00145 HRESULT GetProvParam( 00146 [in] DWORD dwParam, 00147 [out] DWORD* pcbData, 00148 [out] BYTE** ppbData, 00149 [in] DWORD dwFlags ); 00150 00151 HRESULT SetProvParam( 00152 [in] DWORD dwParam, 00153 [in] DWORD cbData, 00154 [in] BYTE* pbData, 00155 [in] DWORD* dwFlags ); 00156 00157 HRESULT CreateType( 00158 [in] PST_KEY Key, 00159 [in] const GUID* pType, 00160 [in] PPST_TYPEINFO pInfo, 00161 [in] DWORD dwFlags ); 00162 00163 HRESULT GetTypeInfo( 00164 [in] PST_KEY Key, 00165 [in] const GUID* pType, 00166 [in] PPST_TYPEINFO** ppInfo, 00167 [in] DWORD dwFlags ); 00168 00169 HRESULT DeleteType( 00170 [in] PST_KEY Key, 00171 [in] const GUID* pType, 00172 [in] DWORD dwFlags ); 00173 00174 HRESULT CreateSubtype( 00175 [in] PST_KEY Key, 00176 [in] const GUID* pType, 00177 [in] const GUID* pSubtype, 00178 [in] PPST_TYPEINFO pInfo, 00179 [in] PPST_ACCESSRULESET pRules, 00180 [in] DWORD dwFlags ); 00181 00182 HRESULT GetSubtypeInfo( 00183 [in] PST_KEY Key, 00184 [in] const GUID* pType, 00185 [in] const GUID* pSubtype, 00186 [in] PPST_TYPEINFO** ppInfo, 00187 [in] DWORD dwFlags ); 00188 00189 HRESULT DeleteSubtype( 00190 [in] PST_KEY Key, 00191 [in] const GUID* pType, 00192 [in] const GUID* pSubtype, 00193 [in] DWORD dwFlags ); 00194 00195 HRESULT ReadAccessRuleset( 00196 [in] PST_KEY Key, 00197 [in] const GUID* pType, 00198 [in] const GUID* pSubtype, 00199 [in] PPST_TYPEINFO pInfo, 00200 [in] PPST_ACCESSRULESET** ppRules, 00201 [in] DWORD dwFlags ); 00202 00203 HRESULT WriteAccessRuleset( 00204 [in] PST_KEY Key, 00205 [in] const GUID* pType, 00206 [in] const GUID* pSubtype, 00207 [in] PPST_TYPEINFO pInfo, 00208 [in] PPST_ACCESSRULESET pRules, 00209 [in] DWORD dwFlags ); 00210 00211 HRESULT EnumTypes( 00212 [in] PST_KEY Key, 00213 [in] DWORD dwFlags, 00214 [in] IEnumPStoreTypes** ppenum ); 00215 00216 HRESULT EnumSubtypes( 00217 [in] PST_KEY Key, 00218 [in] const GUID* pType, 00219 [in] DWORD dwFlags, 00220 [in] IEnumPStoreTypes** ppenum ); 00221 00222 HRESULT DeleteItem( 00223 [in] PST_KEY Key, 00224 [in] const GUID* pItemType, 00225 [in] const GUID* pItemSubType, 00226 [in] LPCWSTR szItemName, 00227 [in] PPST_PROMPTINFO pPromptInfo, 00228 [in] DWORD dwFlags ); 00229 00230 HRESULT ReadItem( 00231 [in] PST_KEY Key, 00232 [in] const GUID* pItemType, 00233 [in] const GUID* pItemSubtype, 00234 [in] LPCWSTR szItemName, 00235 [in] DWORD *cbData, 00236 [in] BYTE** pbData, 00237 [in] PPST_PROMPTINFO pPromptInfo, 00238 [in] DWORD dwFlags ); 00239 00240 HRESULT WriteItem( 00241 [in] PST_KEY Key, 00242 [in] const GUID* pItemType, 00243 [in] const GUID* pItemSubtype, 00244 [in] LPCWSTR szItemName, 00245 [in] DWORD cbData, 00246 [in,size_is(cbData)] BYTE *ppbData, 00247 [in] PPST_PROMPTINFO pPromptInfo, 00248 [in] DWORD dwDefaultConfirmationStyle, 00249 [in] DWORD dwFlags); 00250 00251 HRESULT OpenItem( 00252 [in] PST_KEY Key, 00253 [in] const GUID* pItemType, 00254 [in] const GUID* pItemSubtype, 00255 [in] LPCWSTR szItemName, 00256 [in] PST_ACCESSMODE ModeFlags, 00257 [in] PPST_PROMPTINFO pProomptInfo, 00258 [in] DWORD dwFlags ); 00259 00260 HRESULT CloseItem( 00261 [in] PST_KEY Key, 00262 [in] const GUID* pItemType, 00263 [in] const GUID* pItemSubtype, 00264 [in] LPCWSTR* szItemName, 00265 [in] DWORD dwFlags ); 00266 00267 HRESULT EnumItems( 00268 [in] PST_KEY Key, 00269 [in] const GUID* pItemType, 00270 [in] const GUID* pItemSubtype, 00271 [in] DWORD dwFlags, 00272 [in] IEnumPStoreItems** ppenum ); 00273 } 00274 00275 }; Generated on Mon May 28 2012 04:32:02 for ReactOS by
1.7.6.1
|