Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenapps.c
Go to the documentation of this file.
00001 /* 00002 * Copyright 2009 Hans Leidekker for CodeWeavers 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 #include "config.h" 00020 #include <stdarg.h> 00021 #include <stdio.h> 00022 00023 #define COBJMACROS 00024 00025 #include "windef.h" 00026 #include "winbase.h" 00027 #include "winuser.h" 00028 #include "ole2.h" 00029 #include "netfw.h" 00030 00031 #include "wine/debug.h" 00032 #include "wine/unicode.h" 00033 #include "hnetcfg_private.h" 00034 00035 WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg); 00036 00037 typedef struct fw_app 00038 { 00039 INetFwAuthorizedApplication INetFwAuthorizedApplication_iface; 00040 LONG refs; 00041 } fw_app; 00042 00043 static inline fw_app *impl_from_INetFwAuthorizedApplication( INetFwAuthorizedApplication *iface ) 00044 { 00045 return CONTAINING_RECORD(iface, fw_app, INetFwAuthorizedApplication_iface); 00046 } 00047 00048 static ULONG WINAPI fw_app_AddRef( 00049 INetFwAuthorizedApplication *iface ) 00050 { 00051 fw_app *fw_app = impl_from_INetFwAuthorizedApplication( iface ); 00052 return InterlockedIncrement( &fw_app->refs ); 00053 } 00054 00055 static ULONG WINAPI fw_app_Release( 00056 INetFwAuthorizedApplication *iface ) 00057 { 00058 fw_app *fw_app = impl_from_INetFwAuthorizedApplication( iface ); 00059 LONG refs = InterlockedDecrement( &fw_app->refs ); 00060 if (!refs) 00061 { 00062 TRACE("destroying %p\n", fw_app); 00063 HeapFree( GetProcessHeap(), 0, fw_app ); 00064 } 00065 return refs; 00066 } 00067 00068 static HRESULT WINAPI fw_app_QueryInterface( 00069 INetFwAuthorizedApplication *iface, 00070 REFIID riid, 00071 void **ppvObject ) 00072 { 00073 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00074 00075 TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject ); 00076 00077 if ( IsEqualGUID( riid, &IID_INetFwAuthorizedApplication ) || 00078 IsEqualGUID( riid, &IID_IDispatch ) || 00079 IsEqualGUID( riid, &IID_IUnknown ) ) 00080 { 00081 *ppvObject = iface; 00082 } 00083 else 00084 { 00085 FIXME("interface %s not implemented\n", debugstr_guid(riid)); 00086 return E_NOINTERFACE; 00087 } 00088 INetFwAuthorizedApplication_AddRef( iface ); 00089 return S_OK; 00090 } 00091 00092 static HRESULT WINAPI fw_app_GetTypeInfoCount( 00093 INetFwAuthorizedApplication *iface, 00094 UINT *pctinfo ) 00095 { 00096 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00097 00098 FIXME("%p %p\n", This, pctinfo); 00099 return E_NOTIMPL; 00100 } 00101 00102 static HRESULT WINAPI fw_app_GetTypeInfo( 00103 INetFwAuthorizedApplication *iface, 00104 UINT iTInfo, 00105 LCID lcid, 00106 ITypeInfo **ppTInfo ) 00107 { 00108 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00109 00110 FIXME("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo); 00111 return E_NOTIMPL; 00112 } 00113 00114 static HRESULT WINAPI fw_app_GetIDsOfNames( 00115 INetFwAuthorizedApplication *iface, 00116 REFIID riid, 00117 LPOLESTR *rgszNames, 00118 UINT cNames, 00119 LCID lcid, 00120 DISPID *rgDispId ) 00121 { 00122 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00123 00124 FIXME("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId); 00125 return E_NOTIMPL; 00126 } 00127 00128 static HRESULT WINAPI fw_app_Invoke( 00129 INetFwAuthorizedApplication *iface, 00130 DISPID dispIdMember, 00131 REFIID riid, 00132 LCID lcid, 00133 WORD wFlags, 00134 DISPPARAMS *pDispParams, 00135 VARIANT *pVarResult, 00136 EXCEPINFO *pExcepInfo, 00137 UINT *puArgErr ) 00138 { 00139 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00140 00141 FIXME("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid), 00142 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); 00143 return E_NOTIMPL; 00144 } 00145 00146 static HRESULT WINAPI fw_app_get_Name( 00147 INetFwAuthorizedApplication *iface, 00148 BSTR *name ) 00149 { 00150 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00151 00152 FIXME("%p, %p\n", This, name); 00153 return E_NOTIMPL; 00154 } 00155 00156 static HRESULT WINAPI fw_app_put_Name( 00157 INetFwAuthorizedApplication *iface, 00158 BSTR name ) 00159 { 00160 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00161 00162 FIXME("%p, %s\n", This, debugstr_w(name)); 00163 return S_OK; 00164 } 00165 00166 static HRESULT WINAPI fw_app_get_ProcessImageFileName( 00167 INetFwAuthorizedApplication *iface, 00168 BSTR *imageFileName ) 00169 { 00170 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00171 00172 FIXME("%p, %p\n", This, imageFileName); 00173 return E_NOTIMPL; 00174 } 00175 00176 static HRESULT WINAPI fw_app_put_ProcessImageFileName( 00177 INetFwAuthorizedApplication *iface, 00178 BSTR imageFileName ) 00179 { 00180 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00181 00182 FIXME("%p, %s\n", This, debugstr_w(imageFileName)); 00183 return S_OK; 00184 } 00185 00186 static HRESULT WINAPI fw_app_get_IpVersion( 00187 INetFwAuthorizedApplication *iface, 00188 NET_FW_IP_VERSION *ipVersion ) 00189 { 00190 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00191 00192 FIXME("%p, %p\n", This, ipVersion); 00193 return E_NOTIMPL; 00194 } 00195 00196 static HRESULT WINAPI fw_app_put_IpVersion( 00197 INetFwAuthorizedApplication *iface, 00198 NET_FW_IP_VERSION ipVersion ) 00199 { 00200 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00201 00202 FIXME("%p, %u\n", This, ipVersion); 00203 return E_NOTIMPL; 00204 } 00205 00206 static HRESULT WINAPI fw_app_get_Scope( 00207 INetFwAuthorizedApplication *iface, 00208 NET_FW_SCOPE *scope ) 00209 { 00210 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00211 00212 FIXME("%p, %p\n", This, scope); 00213 return E_NOTIMPL; 00214 } 00215 00216 static HRESULT WINAPI fw_app_put_Scope( 00217 INetFwAuthorizedApplication *iface, 00218 NET_FW_SCOPE scope ) 00219 { 00220 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00221 00222 FIXME("%p, %u\n", This, scope); 00223 return E_NOTIMPL; 00224 } 00225 00226 static HRESULT WINAPI fw_app_get_RemoteAddresses( 00227 INetFwAuthorizedApplication *iface, 00228 BSTR *remoteAddrs ) 00229 { 00230 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00231 00232 FIXME("%p, %p\n", This, remoteAddrs); 00233 return E_NOTIMPL; 00234 } 00235 00236 static HRESULT WINAPI fw_app_put_RemoteAddresses( 00237 INetFwAuthorizedApplication *iface, 00238 BSTR remoteAddrs ) 00239 { 00240 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00241 00242 FIXME("%p, %s\n", This, debugstr_w(remoteAddrs)); 00243 return E_NOTIMPL; 00244 } 00245 00246 static HRESULT WINAPI fw_app_get_Enabled( 00247 INetFwAuthorizedApplication *iface, 00248 VARIANT_BOOL *enabled ) 00249 { 00250 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00251 00252 FIXME("%p, %p\n", This, enabled); 00253 00254 *enabled = VARIANT_FALSE; 00255 return S_OK; 00256 } 00257 00258 static HRESULT WINAPI fw_app_put_Enabled( 00259 INetFwAuthorizedApplication *iface, 00260 VARIANT_BOOL enabled ) 00261 { 00262 fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); 00263 00264 FIXME("%p, %d\n", This, enabled); 00265 return S_OK; 00266 } 00267 00268 static const struct INetFwAuthorizedApplicationVtbl fw_app_vtbl = 00269 { 00270 fw_app_QueryInterface, 00271 fw_app_AddRef, 00272 fw_app_Release, 00273 fw_app_GetTypeInfoCount, 00274 fw_app_GetTypeInfo, 00275 fw_app_GetIDsOfNames, 00276 fw_app_Invoke, 00277 fw_app_get_Name, 00278 fw_app_put_Name, 00279 fw_app_get_ProcessImageFileName, 00280 fw_app_put_ProcessImageFileName, 00281 fw_app_get_IpVersion, 00282 fw_app_put_IpVersion, 00283 fw_app_get_Scope, 00284 fw_app_put_Scope, 00285 fw_app_get_RemoteAddresses, 00286 fw_app_put_RemoteAddresses, 00287 fw_app_get_Enabled, 00288 fw_app_put_Enabled 00289 }; 00290 00291 HRESULT NetFwAuthorizedApplication_create( IUnknown *pUnkOuter, LPVOID *ppObj ) 00292 { 00293 fw_app *fa; 00294 00295 TRACE("(%p,%p)\n", pUnkOuter, ppObj); 00296 00297 fa = HeapAlloc( GetProcessHeap(), 0, sizeof(*fa) ); 00298 if (!fa) return E_OUTOFMEMORY; 00299 00300 fa->INetFwAuthorizedApplication_iface.lpVtbl = &fw_app_vtbl; 00301 fa->refs = 1; 00302 00303 *ppObj = &fa->INetFwAuthorizedApplication_iface; 00304 00305 TRACE("returning iface %p\n", *ppObj); 00306 return S_OK; 00307 } 00308 typedef struct fw_apps 00309 { 00310 INetFwAuthorizedApplications INetFwAuthorizedApplications_iface; 00311 LONG refs; 00312 } fw_apps; 00313 00314 static inline fw_apps *impl_from_INetFwAuthorizedApplications( INetFwAuthorizedApplications *iface ) 00315 { 00316 return CONTAINING_RECORD(iface, fw_apps, INetFwAuthorizedApplications_iface); 00317 } 00318 00319 static ULONG WINAPI fw_apps_AddRef( 00320 INetFwAuthorizedApplications *iface ) 00321 { 00322 fw_apps *fw_apps = impl_from_INetFwAuthorizedApplications( iface ); 00323 return InterlockedIncrement( &fw_apps->refs ); 00324 } 00325 00326 static ULONG WINAPI fw_apps_Release( 00327 INetFwAuthorizedApplications *iface ) 00328 { 00329 fw_apps *fw_apps = impl_from_INetFwAuthorizedApplications( iface ); 00330 LONG refs = InterlockedDecrement( &fw_apps->refs ); 00331 if (!refs) 00332 { 00333 TRACE("destroying %p\n", fw_apps); 00334 HeapFree( GetProcessHeap(), 0, fw_apps ); 00335 } 00336 return refs; 00337 } 00338 00339 static HRESULT WINAPI fw_apps_QueryInterface( 00340 INetFwAuthorizedApplications *iface, 00341 REFIID riid, 00342 void **ppvObject ) 00343 { 00344 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00345 00346 TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject ); 00347 00348 if ( IsEqualGUID( riid, &IID_INetFwAuthorizedApplications ) || 00349 IsEqualGUID( riid, &IID_IDispatch ) || 00350 IsEqualGUID( riid, &IID_IUnknown ) ) 00351 { 00352 *ppvObject = iface; 00353 } 00354 else 00355 { 00356 FIXME("interface %s not implemented\n", debugstr_guid(riid)); 00357 return E_NOINTERFACE; 00358 } 00359 INetFwAuthorizedApplications_AddRef( iface ); 00360 return S_OK; 00361 } 00362 00363 static HRESULT WINAPI fw_apps_GetTypeInfoCount( 00364 INetFwAuthorizedApplications *iface, 00365 UINT *pctinfo ) 00366 { 00367 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00368 00369 FIXME("%p %p\n", This, pctinfo); 00370 return E_NOTIMPL; 00371 } 00372 00373 static HRESULT WINAPI fw_apps_GetTypeInfo( 00374 INetFwAuthorizedApplications *iface, 00375 UINT iTInfo, 00376 LCID lcid, 00377 ITypeInfo **ppTInfo ) 00378 { 00379 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00380 00381 FIXME("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo); 00382 return E_NOTIMPL; 00383 } 00384 00385 static HRESULT WINAPI fw_apps_GetIDsOfNames( 00386 INetFwAuthorizedApplications *iface, 00387 REFIID riid, 00388 LPOLESTR *rgszNames, 00389 UINT cNames, 00390 LCID lcid, 00391 DISPID *rgDispId ) 00392 { 00393 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00394 00395 FIXME("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId); 00396 return E_NOTIMPL; 00397 } 00398 00399 static HRESULT WINAPI fw_apps_Invoke( 00400 INetFwAuthorizedApplications *iface, 00401 DISPID dispIdMember, 00402 REFIID riid, 00403 LCID lcid, 00404 WORD wFlags, 00405 DISPPARAMS *pDispParams, 00406 VARIANT *pVarResult, 00407 EXCEPINFO *pExcepInfo, 00408 UINT *puArgErr ) 00409 { 00410 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00411 00412 FIXME("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid), 00413 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); 00414 return E_NOTIMPL; 00415 } 00416 00417 static HRESULT WINAPI fw_apps_get_Count( 00418 INetFwAuthorizedApplications *iface, 00419 LONG *count ) 00420 { 00421 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00422 00423 FIXME("%p, %p\n", This, count); 00424 return E_NOTIMPL; 00425 } 00426 00427 static HRESULT WINAPI fw_apps_Add( 00428 INetFwAuthorizedApplications *iface, 00429 INetFwAuthorizedApplication *app ) 00430 { 00431 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00432 00433 FIXME("%p, %p\n", This, app); 00434 return S_OK; 00435 } 00436 00437 static HRESULT WINAPI fw_apps_Remove( 00438 INetFwAuthorizedApplications *iface, 00439 BSTR imageFileName ) 00440 { 00441 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00442 00443 FIXME("%p, %s\n", This, debugstr_w(imageFileName)); 00444 return S_OK; 00445 } 00446 00447 static HRESULT WINAPI fw_apps_Item( 00448 INetFwAuthorizedApplications *iface, 00449 BSTR imageFileName, 00450 INetFwAuthorizedApplication **app ) 00451 { 00452 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00453 00454 TRACE("%p, %s, %p\n", This, debugstr_w(imageFileName), app); 00455 return NetFwAuthorizedApplication_create( NULL, (void **)app ); 00456 } 00457 00458 static HRESULT WINAPI fw_apps_get__NewEnum( 00459 INetFwAuthorizedApplications *iface, 00460 IUnknown **newEnum ) 00461 { 00462 fw_apps *This = impl_from_INetFwAuthorizedApplications( iface ); 00463 00464 FIXME("%p, %p\n", This, newEnum); 00465 return E_NOTIMPL; 00466 } 00467 00468 static const struct INetFwAuthorizedApplicationsVtbl fw_apps_vtbl = 00469 { 00470 fw_apps_QueryInterface, 00471 fw_apps_AddRef, 00472 fw_apps_Release, 00473 fw_apps_GetTypeInfoCount, 00474 fw_apps_GetTypeInfo, 00475 fw_apps_GetIDsOfNames, 00476 fw_apps_Invoke, 00477 fw_apps_get_Count, 00478 fw_apps_Add, 00479 fw_apps_Remove, 00480 fw_apps_Item, 00481 fw_apps_get__NewEnum 00482 }; 00483 00484 HRESULT NetFwAuthorizedApplications_create( IUnknown *pUnkOuter, LPVOID *ppObj ) 00485 { 00486 fw_apps *fa; 00487 00488 TRACE("(%p,%p)\n", pUnkOuter, ppObj); 00489 00490 fa = HeapAlloc( GetProcessHeap(), 0, sizeof(*fa) ); 00491 if (!fa) return E_OUTOFMEMORY; 00492 00493 fa->INetFwAuthorizedApplications_iface.lpVtbl = &fw_apps_vtbl; 00494 fa->refs = 1; 00495 00496 *ppObj = &fa->INetFwAuthorizedApplications_iface; 00497 00498 TRACE("returning iface %p\n", *ppObj); 00499 return S_OK; 00500 } Generated on Sun May 27 2012 04:23:53 for ReactOS by
1.7.6.1
|