ReactOS  0.4.14-dev-554-g2f8d847
apps.c
Go to the documentation of this file.
1 /*
2  * Copyright 2009 Hans Leidekker for CodeWeavers
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 #include <stdarg.h>
20 #include <stdio.h>
21 
22 #define COBJMACROS
23 
24 #include "windef.h"
25 #include "winbase.h"
26 #include "winuser.h"
27 #include "ole2.h"
28 #include "netfw.h"
29 #include "natupnp.h"
30 #ifdef __REACTOS__
31 #include "winnetwk.h"
32 #endif
33 
34 #include "wine/debug.h"
35 #include "wine/heap.h"
36 #include "hnetcfg_private.h"
37 
39 
40 typedef struct fw_app
41 {
45 } fw_app;
46 
48 {
49  return CONTAINING_RECORD(iface, fw_app, INetFwAuthorizedApplication_iface);
50 }
51 
54 {
56  return InterlockedIncrement( &fw_app->refs );
57 }
58 
61 {
64  if (!refs)
65  {
66  TRACE("destroying %p\n", fw_app);
69  }
70  return refs;
71 }
72 
75  REFIID riid,
76  void **ppvObject )
77 {
79 
80  TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject );
81 
82  if ( IsEqualGUID( riid, &IID_INetFwAuthorizedApplication ) ||
85  {
86  *ppvObject = iface;
87  }
88  else
89  {
90  FIXME("interface %s not implemented\n", debugstr_guid(riid));
91  return E_NOINTERFACE;
92  }
93  INetFwAuthorizedApplication_AddRef( iface );
94  return S_OK;
95 }
96 
99  UINT *pctinfo )
100 {
102 
103  TRACE("%p %p\n", This, pctinfo);
104  *pctinfo = 1;
105  return S_OK;
106 }
107 
110 
111 static REFIID tid_id[] =
112 {
113  &IID_INetFwAuthorizedApplication,
114  &IID_INetFwAuthorizedApplications,
115  &IID_INetFwMgr,
116  &IID_INetFwOpenPort,
117  &IID_INetFwOpenPorts,
118  &IID_INetFwPolicy,
119  &IID_INetFwPolicy2,
120  &IID_INetFwProfile,
121  &IID_IUPnPNAT
122 };
123 
125 {
126  HRESULT hr;
127 
128  if (!typelib)
129  {
130  ITypeLib *lib;
131 
132  hr = LoadRegTypeLib( &LIBID_NetFwPublicTypeLib, 1, 0, LOCALE_SYSTEM_DEFAULT, &lib );
133  if (FAILED(hr))
134  {
135  ERR("LoadRegTypeLib failed: %08x\n", hr);
136  return hr;
137  }
138  if (InterlockedCompareExchangePointer( (void **)&typelib, lib, NULL ))
139  ITypeLib_Release( lib );
140  }
141  if (!typeinfo[tid])
142  {
143  ITypeInfo *info;
144 
145  hr = ITypeLib_GetTypeInfoOfGuid( typelib, tid_id[tid], &info );
146  if (FAILED(hr))
147  {
148  ERR("GetTypeInfoOfGuid(%s) failed: %08x\n", debugstr_guid(tid_id[tid]), hr);
149  return hr;
150  }
152  ITypeInfo_Release( info );
153  }
154  *ret = typeinfo[tid];
155  ITypeInfo_AddRef(typeinfo[tid]);
156  return S_OK;
157 }
158 
159 void release_typelib(void)
160 {
161  unsigned i;
162 
163  for (i = 0; i < ARRAY_SIZE(typeinfo); i++)
164  if (typeinfo[i])
165  ITypeInfo_Release(typeinfo[i]);
166 
167  if (typelib)
168  ITypeLib_Release(typelib);
169 }
170 
173  UINT iTInfo,
174  LCID lcid,
175  ITypeInfo **ppTInfo )
176 {
178 
179  TRACE("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo);
181 }
182 
185  REFIID riid,
186  LPOLESTR *rgszNames,
187  UINT cNames,
188  LCID lcid,
189  DISPID *rgDispId )
190 {
193  HRESULT hr;
194 
195  TRACE("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
196 
198  if (SUCCEEDED(hr))
199  {
200  hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
201  ITypeInfo_Release( typeinfo );
202  }
203  return hr;
204 }
205 
208  DISPID dispIdMember,
209  REFIID riid,
210  LCID lcid,
211  WORD wFlags,
212  DISPPARAMS *pDispParams,
213  VARIANT *pVarResult,
214  EXCEPINFO *pExcepInfo,
215  UINT *puArgErr )
216 {
219  HRESULT hr;
220 
221  TRACE("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
222  lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
223 
225  if (SUCCEEDED(hr))
226  {
227  hr = ITypeInfo_Invoke( typeinfo, &This->INetFwAuthorizedApplication_iface, dispIdMember,
228  wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
229  ITypeInfo_Release( typeinfo );
230  }
231  return hr;
232 }
233 
236  BSTR *name )
237 {
239 
240  FIXME("%p, %p\n", This, name);
241  return E_NOTIMPL;
242 }
243 
246  BSTR name )
247 {
249 
250  FIXME("%p, %s\n", This, debugstr_w(name));
251  return S_OK;
252 }
253 
256  BSTR *imageFileName )
257 {
259 
260  FIXME("%p, %p\n", This, imageFileName);
261 
262  if (!imageFileName)
263  return E_POINTER;
264 
265  *imageFileName = SysAllocString( This->filename );
266  return *imageFileName || !This->filename ? S_OK : E_OUTOFMEMORY;
267 }
268 
271 {
274  DWORD sz, longsz;
275  WCHAR *path;
276  DWORD res;
277 
278  FIXME("%p, %s\n", This, debugstr_w(image));
279 
280  if (!image || !image[0])
281  return E_INVALIDARG;
282 
283  sz = 0;
285  if (res == WN_MORE_DATA)
286  {
287  if (!(path = heap_alloc(sz)))
288  return E_OUTOFMEMORY;
289 
292  if (res == NO_ERROR)
293  {
294  SysFreeString(This->filename);
295  This->filename = SysAllocString(info->lpUniversalName);
296  }
297  heap_free(path);
298  return HRESULT_FROM_WIN32(res);
299  }
300 
301  sz = GetFullPathNameW(image, 0, NULL, NULL);
302  if (!(path = heap_alloc(++sz * sizeof(WCHAR))))
303  return E_OUTOFMEMORY;
305 
306  longsz = GetLongPathNameW(path, path, sz);
307  if (longsz > sz)
308  {
309  if (!(path = heap_realloc(path, longsz * sizeof(WCHAR))))
310  {
311  heap_free(path);
312  return E_OUTOFMEMORY;
313  }
314  GetLongPathNameW(path, path, longsz);
315  }
316 
317  SysFreeString( This->filename );
318  This->filename = SysAllocString(path);
319  heap_free(path);
320  return This->filename ? S_OK : E_OUTOFMEMORY;
321 }
322 
325  NET_FW_IP_VERSION *ipVersion )
326 {
328 
329  TRACE("%p, %p\n", This, ipVersion);
330 
331  if (!ipVersion)
332  return E_POINTER;
333  *ipVersion = NET_FW_IP_VERSION_ANY;
334  return S_OK;
335 }
336 
339  NET_FW_IP_VERSION ipVersion )
340 {
342 
343  TRACE("%p, %u\n", This, ipVersion);
344  return S_OK;
345 }
346 
349  NET_FW_SCOPE *scope )
350 {
352 
353  FIXME("%p, %p\n", This, scope);
354  return E_NOTIMPL;
355 }
356 
359  NET_FW_SCOPE scope )
360 {
362 
363  FIXME("%p, %u\n", This, scope);
364  return S_OK;
365 }
366 
369  BSTR *remoteAddrs )
370 {
372 
373  FIXME("%p, %p\n", This, remoteAddrs);
374  return E_NOTIMPL;
375 }
376 
379  BSTR remoteAddrs )
380 {
382 
383  FIXME("%p, %s\n", This, debugstr_w(remoteAddrs));
384  return E_NOTIMPL;
385 }
386 
390 {
392 
393  FIXME("%p, %p\n", This, enabled);
394 
395  *enabled = VARIANT_FALSE;
396  return S_OK;
397 }
398 
402 {
404 
405  FIXME("%p, %d\n", This, enabled);
406  return S_OK;
407 }
408 
409 static const struct INetFwAuthorizedApplicationVtbl fw_app_vtbl =
410 {
430 };
431 
433 {
434  fw_app *fa;
435 
436  TRACE("(%p,%p)\n", pUnkOuter, ppObj);
437 
438  fa = HeapAlloc( GetProcessHeap(), 0, sizeof(*fa) );
439  if (!fa) return E_OUTOFMEMORY;
440 
441  fa->INetFwAuthorizedApplication_iface.lpVtbl = &fw_app_vtbl;
442  fa->refs = 1;
443  fa->filename = NULL;
444 
445  *ppObj = &fa->INetFwAuthorizedApplication_iface;
446 
447  TRACE("returning iface %p\n", *ppObj);
448  return S_OK;
449 }
450 typedef struct fw_apps
451 {
454 } fw_apps;
455 
457 {
458  return CONTAINING_RECORD(iface, fw_apps, INetFwAuthorizedApplications_iface);
459 }
460 
463 {
465  return InterlockedIncrement( &fw_apps->refs );
466 }
467 
470 {
473  if (!refs)
474  {
475  TRACE("destroying %p\n", fw_apps);
477  }
478  return refs;
479 }
480 
483  REFIID riid,
484  void **ppvObject )
485 {
487 
488  TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject );
489 
490  if ( IsEqualGUID( riid, &IID_INetFwAuthorizedApplications ) ||
493  {
494  *ppvObject = iface;
495  }
496  else
497  {
498  FIXME("interface %s not implemented\n", debugstr_guid(riid));
499  return E_NOINTERFACE;
500  }
501  INetFwAuthorizedApplications_AddRef( iface );
502  return S_OK;
503 }
504 
507  UINT *pctinfo )
508 {
510 
511  FIXME("%p %p\n", This, pctinfo);
512  return E_NOTIMPL;
513 }
514 
517  UINT iTInfo,
518  LCID lcid,
519  ITypeInfo **ppTInfo )
520 {
522 
523  TRACE("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo);
525 }
526 
529  REFIID riid,
530  LPOLESTR *rgszNames,
531  UINT cNames,
532  LCID lcid,
533  DISPID *rgDispId )
534 {
537  HRESULT hr;
538 
539  TRACE("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
540 
542  if (SUCCEEDED(hr))
543  {
544  hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
545  ITypeInfo_Release( typeinfo );
546  }
547  return hr;
548 }
549 
552  DISPID dispIdMember,
553  REFIID riid,
554  LCID lcid,
555  WORD wFlags,
556  DISPPARAMS *pDispParams,
557  VARIANT *pVarResult,
558  EXCEPINFO *pExcepInfo,
559  UINT *puArgErr )
560 {
563  HRESULT hr;
564 
565  TRACE("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
566  lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
567 
569  if (SUCCEEDED(hr))
570  {
571  hr = ITypeInfo_Invoke( typeinfo, &This->INetFwAuthorizedApplications_iface, dispIdMember,
572  wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
573  ITypeInfo_Release( typeinfo );
574  }
575  return hr;
576 }
577 
580  LONG *count )
581 {
583 
584  FIXME("%p, %p\n", This, count);
585  return E_NOTIMPL;
586 }
587 
591 {
593 
594  FIXME("%p, %p\n", This, app);
595  return S_OK;
596 }
597 
600  BSTR imageFileName )
601 {
603 
604  FIXME("%p, %s\n", This, debugstr_w(imageFileName));
605  return S_OK;
606 }
607 
610  BSTR imageFileName,
612 {
614 
615  TRACE("%p, %s, %p\n", This, debugstr_w(imageFileName), app);
616  return NetFwAuthorizedApplication_create( NULL, (void **)app );
617 }
618 
621  IUnknown **newEnum )
622 {
624 
625  FIXME("%p, %p\n", This, newEnum);
626  return E_NOTIMPL;
627 }
628 
629 static const struct INetFwAuthorizedApplicationsVtbl fw_apps_vtbl =
630 {
639  fw_apps_Add,
641  fw_apps_Item,
643 };
644 
646 {
647  fw_apps *fa;
648 
649  TRACE("(%p,%p)\n", pUnkOuter, ppObj);
650 
651  fa = HeapAlloc( GetProcessHeap(), 0, sizeof(*fa) );
652  if (!fa) return E_OUTOFMEMORY;
653 
654  fa->INetFwAuthorizedApplications_iface.lpVtbl = &fw_apps_vtbl;
655  fa->refs = 1;
656 
657  *ppObj = &fa->INetFwAuthorizedApplications_iface;
658 
659  TRACE("returning iface %p\n", *ppObj);
660  return S_OK;
661 }
LONG refs
Definition: apps.c:453
static REFIID tid_id[]
Definition: apps.c:111
static ULONG WINAPI fw_app_AddRef(INetFwAuthorizedApplication *iface)
Definition: apps.c:52
static HRESULT WINAPI fw_app_put_Name(INetFwAuthorizedApplication *iface, BSTR name)
Definition: apps.c:244
#define REFIID
Definition: guiddef.h:118
#define E_NOINTERFACE
Definition: winerror.h:2364
static const struct INetFwAuthorizedApplicationsVtbl fw_apps_vtbl
Definition: apps.c:629
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
HRESULT hr
Definition: shlfolder.c:183
static HRESULT WINAPI fw_app_GetTypeInfoCount(INetFwAuthorizedApplication *iface, UINT *pctinfo)
Definition: apps.c:97
static HRESULT WINAPI fw_app_put_ProcessImageFileName(INetFwAuthorizedApplication *iface, BSTR image)
Definition: apps.c:269
GLsizei const GLchar ** path
Definition: glext.h:7234
REFIID riid
Definition: precomp.h:44
static HRESULT WINAPI fw_app_Invoke(INetFwAuthorizedApplication *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: apps.c:206
GLuint GLuint GLsizei count
Definition: gl.h:1545
HRESULT NetFwAuthorizedApplication_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: apps.c:432
static HRESULT WINAPI fw_apps_get_Count(INetFwAuthorizedApplications *iface, LONG *count)
Definition: apps.c:578
static ITypeLib * typelib
Definition: apps.c:108
LONG refs
Definition: apps.c:43
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
Definition: path.c:1105
static HRESULT WINAPI fw_app_get_Enabled(INetFwAuthorizedApplication *iface, VARIANT_BOOL *enabled)
Definition: apps.c:387
static HRESULT WINAPI fw_app_put_IpVersion(INetFwAuthorizedApplication *iface, NET_FW_IP_VERSION ipVersion)
Definition: apps.c:337
DWORD LCID
Definition: nls.h:13
OLECHAR * BSTR
Definition: compat.h:1942
static LPOLESTR
Definition: stg_prop.c:27
#define NO_ERROR
Definition: dderror.h:5
enum NET_FW_IP_VERSION_ NET_FW_IP_VERSION
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750
short VARIANT_BOOL
Definition: compat.h:1939
static void * heap_realloc(void *mem, size_t len)
Definition: appwiz.h:70
INetFwAuthorizedApplications INetFwAuthorizedApplications_iface
Definition: apps.c:452
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
struct _test_info info[]
Definition: SetCursorPos.c:19
static HRESULT WINAPI fw_app_get_RemoteAddresses(INetFwAuthorizedApplication *iface, BSTR *remoteAddrs)
Definition: apps.c:367
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
long LONG
Definition: pedump.c:60
enum NET_FW_SCOPE_ NET_FW_SCOPE
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg)
#define InterlockedCompareExchangePointer
Definition: interlocked.h:129
static HRESULT WINAPI fw_app_GetIDsOfNames(INetFwAuthorizedApplication *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: apps.c:183
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: apps.c:124
static HRESULT WINAPI fw_apps_Item(INetFwAuthorizedApplications *iface, BSTR imageFileName, INetFwAuthorizedApplication **app)
Definition: apps.c:608
#define debugstr_guid
Definition: kernel32.h:35
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
Definition: apps.c:450
static HRESULT WINAPI fw_apps_QueryInterface(INetFwAuthorizedApplications *iface, REFIID riid, void **ppvObject)
Definition: apps.c:481
static HRESULT WINAPI fw_app_get_ProcessImageFileName(INetFwAuthorizedApplication *iface, BSTR *imageFileName)
Definition: apps.c:254
DWORD WINAPI GetLongPathNameW(IN LPCWSTR lpszShortPath, OUT LPWSTR lpszLongPath, IN DWORD cchBuffer)
Definition: path.c:1455
static HRESULT WINAPI fw_app_get_IpVersion(INetFwAuthorizedApplication *iface, NET_FW_IP_VERSION *ipVersion)
Definition: apps.c:323
#define TRACE(s)
Definition: solgame.cpp:4
Definition: apps.c:40
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static const struct INetFwAuthorizedApplicationVtbl fw_app_vtbl
Definition: apps.c:409
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
const GUID IID_IUnknown
BSTR filename
Definition: apps.c:44
#define WINAPI
Definition: msvc.h:8
#define LOCALE_SYSTEM_DEFAULT
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
static fw_app * impl_from_INetFwAuthorizedApplication(INetFwAuthorizedApplication *iface)
Definition: apps.c:47
type_id
void release_typelib(void)
Definition: apps.c:159
DWORD WINAPI WNetGetUniversalNameW(LPCWSTR lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpBufferSize)
Definition: wnet.c:2777
struct fw_app fw_app
const GUID IID_IDispatch
static HRESULT WINAPI fw_apps_GetIDsOfNames(INetFwAuthorizedApplications *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: apps.c:527
static ULONG WINAPI fw_apps_Release(INetFwAuthorizedApplications *iface)
Definition: apps.c:468
int ret
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
#define InterlockedDecrement
Definition: armddk.h:52
HRESULT NetFwAuthorizedApplications_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: apps.c:645
static fw_apps * impl_from_INetFwAuthorizedApplications(INetFwAuthorizedApplications *iface)
Definition: apps.c:456
static HRESULT WINAPI fw_app_GetTypeInfo(INetFwAuthorizedApplication *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: apps.c:171
REFIID LPVOID * ppvObject
Definition: precomp.h:44
INetFwAuthorizedApplication INetFwAuthorizedApplication_iface
Definition: apps.c:42
static HRESULT WINAPI fw_apps_GetTypeInfoCount(INetFwAuthorizedApplications *iface, UINT *pctinfo)
Definition: apps.c:505
static HRESULT WINAPI fw_apps_Invoke(INetFwAuthorizedApplications *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: apps.c:550
static HRESULT WINAPI fw_app_put_Enabled(INetFwAuthorizedApplication *iface, VARIANT_BOOL enabled)
Definition: apps.c:399
static HRESULT WINAPI fw_app_put_Scope(INetFwAuthorizedApplication *iface, NET_FW_SCOPE scope)
Definition: apps.c:357
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:519
#define ERR(fmt,...)
Definition: debug.h:109
struct stdole::EXCEPINFO EXCEPINFO
static VARIANTARG static DISPID
Definition: ordinal.c:49
#define S_OK
Definition: intsafe.h:59
HRESULT WINAPI LoadRegTypeLib(REFGUID rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib **ppTLib)
Definition: typelib.c:531
#define InterlockedIncrement
Definition: armddk.h:53
static HRESULT WINAPI fw_app_put_RemoteAddresses(INetFwAuthorizedApplication *iface, BSTR remoteAddrs)
Definition: apps.c:377
#define ARRAY_SIZE(a)
Definition: main.h:24
#define E_NOTIMPL
Definition: ddrawi.h:99
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
unsigned int UINT
Definition: ndis.h:50
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
static HRESULT WINAPI fw_apps_Remove(INetFwAuthorizedApplications *iface, BSTR imageFileName)
Definition: apps.c:598
Definition: name.c:38
GLuint res
Definition: glext.h:9613
struct stdole::DISPPARAMS DISPPARAMS
#define WN_MORE_DATA
Definition: winnetwk.h:117
unsigned int ULONG
Definition: retypes.h:1
static HRESULT WINAPI fw_app_QueryInterface(INetFwAuthorizedApplication *iface, REFIID riid, void **ppvObject)
Definition: apps.c:73
static ULONG WINAPI fw_app_Release(INetFwAuthorizedApplication *iface)
Definition: apps.c:59
static HRESULT WINAPI fw_app_get_Name(INetFwAuthorizedApplication *iface, BSTR *name)
Definition: apps.c:234
static HRESULT WINAPI fw_apps_GetTypeInfo(INetFwAuthorizedApplications *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: apps.c:515
#define E_POINTER
Definition: winerror.h:2365
struct fw_apps fw_apps
static HRESULT WINAPI fw_apps_get__NewEnum(INetFwAuthorizedApplications *iface, IUnknown **newEnum)
Definition: apps.c:619
static HRESULT WINAPI fw_app_get_Scope(INetFwAuthorizedApplication *iface, NET_FW_SCOPE *scope)
Definition: apps.c:347
static TfClientId tid
#define HeapFree(x, y, z)
Definition: compat.h:402
#define UNIVERSAL_NAME_INFO_LEVEL
Definition: winnetwk.h:151
static HRESULT WINAPI fw_apps_Add(INetFwAuthorizedApplications *iface, INetFwAuthorizedApplication *app)
Definition: apps.c:588
#define SUCCEEDED(hr)
Definition: intsafe.h:57
static ULONG WINAPI fw_apps_AddRef(INetFwAuthorizedApplications *iface)
Definition: apps.c:461
static BOOL heap_free(void *mem)
Definition: appwiz.h:75
f_args fa
Definition: format.c:280