ReactOS 0.4.17-dev-966-gf06eace
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 "hnetcfg_private.h"
36
38
39typedef struct fw_app
40{
45
47{
48 return CONTAINING_RECORD(iface, fw_app, INetFwAuthorizedApplication_iface);
49}
50
53{
56}
57
60{
63 if (!refs)
64 {
65 TRACE("destroying %p\n", fw_app);
67 free( fw_app );
68 }
69 return refs;
70}
71
75 void **ppvObject )
76{
78
79 TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject );
80
81 if ( IsEqualGUID( riid, &IID_INetFwAuthorizedApplication ) ||
84 {
85 *ppvObject = iface;
86 }
87 else
88 {
89 FIXME("interface %s not implemented\n", debugstr_guid(riid));
90 return E_NOINTERFACE;
91 }
92 INetFwAuthorizedApplication_AddRef( iface );
93 return S_OK;
94}
95
98 UINT *pctinfo )
99{
101
102 TRACE("%p %p\n", This, pctinfo);
103 *pctinfo = 1;
104 return S_OK;
105}
106
109
110static REFIID tid_id[] =
111{
112 &IID_INetFwAuthorizedApplication,
113 &IID_INetFwAuthorizedApplications,
114 &IID_INetFwMgr,
115 &IID_INetFwOpenPort,
116 &IID_INetFwOpenPorts,
117 &IID_INetFwPolicy,
118 &IID_INetFwPolicy2,
119 &IID_INetFwProfile,
120 &IID_IUPnPNAT,
121 &IID_IStaticPortMappingCollection,
122 &IID_IStaticPortMapping,
123};
124
126{
127 HRESULT hr;
128
129 if (!typelib)
130 {
131 ITypeLib *lib;
132
133 hr = LoadRegTypeLib( &LIBID_NetFwPublicTypeLib, 1, 0, LOCALE_SYSTEM_DEFAULT, &lib );
134 if (FAILED(hr))
135 {
136 ERR("LoadRegTypeLib failed: %08lx\n", hr);
137 return hr;
138 }
139 if (InterlockedCompareExchangePointer( (void **)&typelib, lib, NULL ))
140 ITypeLib_Release( lib );
141 }
142 if (!typeinfo[tid])
143 {
145
146 hr = ITypeLib_GetTypeInfoOfGuid( typelib, tid_id[tid], &info );
147 if (FAILED(hr))
148 {
149 ERR("GetTypeInfoOfGuid(%s) failed: %08lx\n", debugstr_guid(tid_id[tid]), hr);
150 return hr;
151 }
153 ITypeInfo_Release( info );
154 }
155 *ret = typeinfo[tid];
156 ITypeInfo_AddRef(typeinfo[tid]);
157 return S_OK;
158}
159
161{
162 unsigned i;
163
164 for (i = 0; i < ARRAY_SIZE(typeinfo); i++)
165 if (typeinfo[i])
166 ITypeInfo_Release(typeinfo[i]);
167
168 if (typelib)
169 ITypeLib_Release(typelib);
170}
171
174 UINT iTInfo,
175 LCID lcid,
176 ITypeInfo **ppTInfo )
177{
179
180 TRACE("%p %u %lu %p\n", This, iTInfo, lcid, ppTInfo);
182}
183
186 REFIID riid,
187 LPOLESTR *rgszNames,
188 UINT cNames,
189 LCID lcid,
190 DISPID *rgDispId )
191{
194 HRESULT hr;
195
196 TRACE("%p %s %p %u %lu %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
197
199 if (SUCCEEDED(hr))
200 {
201 hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
202 ITypeInfo_Release( typeinfo );
203 }
204 return hr;
205}
206
209 DISPID dispIdMember,
210 REFIID riid,
211 LCID lcid,
212 WORD wFlags,
213 DISPPARAMS *pDispParams,
214 VARIANT *pVarResult,
215 EXCEPINFO *pExcepInfo,
216 UINT *puArgErr )
217{
220 HRESULT hr;
221
222 TRACE("%p %ld %s %ld %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
223 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
224
226 if (SUCCEEDED(hr))
227 {
228 hr = ITypeInfo_Invoke( typeinfo, &This->INetFwAuthorizedApplication_iface, dispIdMember,
229 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
230 ITypeInfo_Release( typeinfo );
231 }
232 return hr;
233}
234
237 BSTR *name )
238{
240
241 FIXME("%p, %p\n", This, name);
242 return E_NOTIMPL;
243}
244
247 BSTR name )
248{
250
251 FIXME("%p, %s\n", This, debugstr_w(name));
252 return S_OK;
253}
254
257 BSTR *imageFileName )
258{
260
261 FIXME("%p, %p\n", This, imageFileName);
262
263 if (!imageFileName)
264 return E_POINTER;
265
266 *imageFileName = SysAllocString( This->filename );
267 return *imageFileName || !This->filename ? S_OK : E_OUTOFMEMORY;
268}
269
272{
275 DWORD sz, longsz;
276 WCHAR *path, *new_path;
277 DWORD res;
278
279 FIXME("%p, %s\n", This, debugstr_w(image));
280
281 if (!image || !image[0])
282 return E_INVALIDARG;
283
284 sz = 0;
286 if (res == WN_MORE_DATA)
287 {
288 if (!(path = malloc(sz)))
289 return E_OUTOFMEMORY;
290
293 if (res == NO_ERROR)
294 {
295 SysFreeString(This->filename);
296 This->filename = SysAllocString(info->lpUniversalName);
297 }
298 free(path);
299 return HRESULT_FROM_WIN32(res);
300 }
301
302 sz = GetFullPathNameW(image, 0, NULL, NULL);
303 if (!(path = malloc(++sz * sizeof(WCHAR))))
304 return E_OUTOFMEMORY;
306
307 longsz = GetLongPathNameW(path, path, sz);
308 if (longsz > sz)
309 {
310 if (!(new_path = realloc(path, longsz * sizeof(WCHAR))))
311 {
312 free(path);
313 return E_OUTOFMEMORY;
314 }
315 path = new_path;
316 GetLongPathNameW(path, path, longsz);
317 }
318
319 SysFreeString( This->filename );
320 This->filename = SysAllocString(path);
321 free(path);
322 return This->filename ? S_OK : E_OUTOFMEMORY;
323}
324
327 NET_FW_IP_VERSION *ipVersion )
328{
330
331 TRACE("%p, %p\n", This, ipVersion);
332
333 if (!ipVersion)
334 return E_POINTER;
335 *ipVersion = NET_FW_IP_VERSION_ANY;
336 return S_OK;
337}
338
341 NET_FW_IP_VERSION ipVersion )
342{
344
345 TRACE("%p, %u\n", This, ipVersion);
346 return S_OK;
347}
348
351 NET_FW_SCOPE *scope )
352{
354
355 FIXME("%p, %p\n", This, scope);
356 return E_NOTIMPL;
357}
358
361 NET_FW_SCOPE scope )
362{
364
365 FIXME("%p, %u\n", This, scope);
366 return S_OK;
367}
368
371 BSTR *remoteAddrs )
372{
374
375 FIXME("%p, %p\n", This, remoteAddrs);
376 return E_NOTIMPL;
377}
378
381 BSTR remoteAddrs )
382{
384
385 FIXME("%p, %s\n", This, debugstr_w(remoteAddrs));
386 return E_NOTIMPL;
387}
388
392{
394
395 FIXME("%p, %p\n", This, enabled);
396
397 *enabled = VARIANT_FALSE;
398 return S_OK;
399}
400
404{
406
407 FIXME("%p, %d\n", This, enabled);
408 return S_OK;
409}
410
411static const struct INetFwAuthorizedApplicationVtbl fw_app_vtbl =
412{
432};
433
435{
436 fw_app *fa;
437
438 TRACE("(%p,%p)\n", pUnkOuter, ppObj);
439
440 fa = malloc( sizeof(*fa) );
441 if (!fa) return E_OUTOFMEMORY;
442
443 fa->INetFwAuthorizedApplication_iface.lpVtbl = &fw_app_vtbl;
444 fa->refs = 1;
445 fa->filename = NULL;
446
447 *ppObj = &fa->INetFwAuthorizedApplication_iface;
448
449 TRACE("returning iface %p\n", *ppObj);
450 return S_OK;
451}
452typedef struct fw_apps
453{
457
459{
460 return CONTAINING_RECORD(iface, fw_apps, INetFwAuthorizedApplications_iface);
461}
462
465{
468}
469
472{
475 if (!refs)
476 {
477 TRACE("destroying %p\n", fw_apps);
478 free( fw_apps );
479 }
480 return refs;
481}
482
485 REFIID riid,
486 void **ppvObject )
487{
489
490 TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject );
491
492 if ( IsEqualGUID( riid, &IID_INetFwAuthorizedApplications ) ||
495 {
496 *ppvObject = iface;
497 }
498 else
499 {
500 FIXME("interface %s not implemented\n", debugstr_guid(riid));
501 return E_NOINTERFACE;
502 }
503 INetFwAuthorizedApplications_AddRef( iface );
504 return S_OK;
505}
506
509 UINT *pctinfo )
510{
512
513 FIXME("%p %p\n", This, pctinfo);
514 return E_NOTIMPL;
515}
516
519 UINT iTInfo,
520 LCID lcid,
521 ITypeInfo **ppTInfo )
522{
524
525 TRACE("%p %u %lu %p\n", This, iTInfo, lcid, ppTInfo);
527}
528
531 REFIID riid,
532 LPOLESTR *rgszNames,
533 UINT cNames,
534 LCID lcid,
535 DISPID *rgDispId )
536{
539 HRESULT hr;
540
541 TRACE("%p %s %p %u %lu %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
542
544 if (SUCCEEDED(hr))
545 {
546 hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
547 ITypeInfo_Release( typeinfo );
548 }
549 return hr;
550}
551
554 DISPID dispIdMember,
555 REFIID riid,
556 LCID lcid,
557 WORD wFlags,
558 DISPPARAMS *pDispParams,
559 VARIANT *pVarResult,
560 EXCEPINFO *pExcepInfo,
561 UINT *puArgErr )
562{
565 HRESULT hr;
566
567 TRACE("%p %ld %s %ld %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
568 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
569
571 if (SUCCEEDED(hr))
572 {
573 hr = ITypeInfo_Invoke( typeinfo, &This->INetFwAuthorizedApplications_iface, dispIdMember,
574 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
575 ITypeInfo_Release( typeinfo );
576 }
577 return hr;
578}
579
582 LONG *count )
583{
585
586 FIXME("%p, %p\n", This, count);
587 return E_NOTIMPL;
588}
589
593{
595
596 FIXME("%p, %p\n", This, app);
597 return S_OK;
598}
599
602 BSTR imageFileName )
603{
605
606 FIXME("%p, %s\n", This, debugstr_w(imageFileName));
607 return S_OK;
608}
609
612 BSTR imageFileName,
614{
616
617 TRACE("%p, %s, %p\n", This, debugstr_w(imageFileName), app);
618 return NetFwAuthorizedApplication_create( NULL, (void **)app );
619}
620
623 IUnknown **newEnum )
624{
626
627 FIXME("%p, %p\n", This, newEnum);
628 return E_NOTIMPL;
629}
630
631static const struct INetFwAuthorizedApplicationsVtbl fw_apps_vtbl =
632{
645};
646
648{
649 fw_apps *fa;
650
651 TRACE("(%p,%p)\n", pUnkOuter, ppObj);
652
653 fa = malloc( sizeof(*fa) );
654 if (!fa) return E_OUTOFMEMORY;
655
656 fa->INetFwAuthorizedApplications_iface.lpVtbl = &fw_apps_vtbl;
657 fa->refs = 1;
658
659 *ppObj = &fa->INetFwAuthorizedApplications_iface;
660
661 TRACE("returning iface %p\n", *ppObj);
662 return S_OK;
663}
static HRESULT WINAPI fw_apps_Add(INetFwAuthorizedApplications *iface, INetFwAuthorizedApplication *app)
Definition: apps.c:590
static HRESULT WINAPI fw_app_put_Enabled(INetFwAuthorizedApplication *iface, VARIANT_BOOL enabled)
Definition: apps.c:401
HRESULT NetFwAuthorizedApplication_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: apps.c:434
static HRESULT WINAPI fw_app_GetTypeInfo(INetFwAuthorizedApplication *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: apps.c:172
static ULONG WINAPI fw_apps_Release(INetFwAuthorizedApplications *iface)
Definition: apps.c:470
static HRESULT WINAPI fw_app_get_ProcessImageFileName(INetFwAuthorizedApplication *iface, BSTR *imageFileName)
Definition: apps.c:255
static HRESULT WINAPI fw_apps_GetTypeInfoCount(INetFwAuthorizedApplications *iface, UINT *pctinfo)
Definition: apps.c:507
static HRESULT WINAPI fw_app_get_IpVersion(INetFwAuthorizedApplication *iface, NET_FW_IP_VERSION *ipVersion)
Definition: apps.c:325
static HRESULT WINAPI fw_app_GetIDsOfNames(INetFwAuthorizedApplication *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: apps.c:184
static ULONG WINAPI fw_app_AddRef(INetFwAuthorizedApplication *iface)
Definition: apps.c:51
static HRESULT WINAPI fw_apps_GetTypeInfo(INetFwAuthorizedApplications *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: apps.c:517
static fw_app * impl_from_INetFwAuthorizedApplication(INetFwAuthorizedApplication *iface)
Definition: apps.c:46
static ITypeLib * typelib
Definition: apps.c:107
static const struct INetFwAuthorizedApplicationsVtbl fw_apps_vtbl
Definition: apps.c:631
static HRESULT WINAPI fw_apps_get_Count(INetFwAuthorizedApplications *iface, LONG *count)
Definition: apps.c:580
static HRESULT WINAPI fw_apps_GetIDsOfNames(INetFwAuthorizedApplications *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: apps.c:529
static HRESULT WINAPI fw_app_get_Name(INetFwAuthorizedApplication *iface, BSTR *name)
Definition: apps.c:235
static HRESULT WINAPI fw_app_put_IpVersion(INetFwAuthorizedApplication *iface, NET_FW_IP_VERSION ipVersion)
Definition: apps.c:339
static HRESULT WINAPI fw_apps_Item(INetFwAuthorizedApplications *iface, BSTR imageFileName, INetFwAuthorizedApplication **app)
Definition: apps.c:610
static HRESULT WINAPI fw_app_QueryInterface(INetFwAuthorizedApplication *iface, REFIID riid, void **ppvObject)
Definition: apps.c:72
static fw_apps * impl_from_INetFwAuthorizedApplications(INetFwAuthorizedApplications *iface)
Definition: apps.c:458
static HRESULT WINAPI fw_app_get_Scope(INetFwAuthorizedApplication *iface, NET_FW_SCOPE *scope)
Definition: apps.c:349
static HRESULT WINAPI fw_apps_Remove(INetFwAuthorizedApplications *iface, BSTR imageFileName)
Definition: apps.c:600
static HRESULT WINAPI fw_app_put_Name(INetFwAuthorizedApplication *iface, BSTR name)
Definition: apps.c:245
static HRESULT WINAPI fw_app_put_ProcessImageFileName(INetFwAuthorizedApplication *iface, BSTR image)
Definition: apps.c:270
static ULONG WINAPI fw_apps_AddRef(INetFwAuthorizedApplications *iface)
Definition: apps.c:463
static HRESULT WINAPI fw_apps_get__NewEnum(INetFwAuthorizedApplications *iface, IUnknown **newEnum)
Definition: apps.c:621
static HRESULT WINAPI fw_app_get_RemoteAddresses(INetFwAuthorizedApplication *iface, BSTR *remoteAddrs)
Definition: apps.c:369
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: apps.c:125
void release_typelib(void)
Definition: apps.c:160
static HRESULT WINAPI fw_apps_QueryInterface(INetFwAuthorizedApplications *iface, REFIID riid, void **ppvObject)
Definition: apps.c:483
static HRESULT WINAPI fw_app_put_RemoteAddresses(INetFwAuthorizedApplication *iface, BSTR remoteAddrs)
Definition: apps.c:379
static HRESULT WINAPI fw_app_GetTypeInfoCount(INetFwAuthorizedApplication *iface, UINT *pctinfo)
Definition: apps.c:96
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:552
static ULONG WINAPI fw_app_Release(INetFwAuthorizedApplication *iface)
Definition: apps.c:58
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:207
static HRESULT WINAPI fw_app_put_Scope(INetFwAuthorizedApplication *iface, NET_FW_SCOPE scope)
Definition: apps.c:359
HRESULT NetFwAuthorizedApplications_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: apps.c:647
static HRESULT WINAPI fw_app_get_Enabled(INetFwAuthorizedApplication *iface, VARIANT_BOOL *enabled)
Definition: apps.c:389
static const struct INetFwAuthorizedApplicationVtbl fw_app_vtbl
Definition: apps.c:411
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:108
#define InterlockedIncrement
Definition: armddk.h:53
#define InterlockedDecrement
Definition: armddk.h:52
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
#define ARRAY_SIZE(A)
Definition: main.h:20
#define FIXME(fmt,...)
Definition: precomp.h:53
#define ERR(fmt,...)
Definition: precomp.h:57
const GUID IID_IUnknown
#define NO_ERROR
Definition: dderror.h:5
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_NOTIMPL
Definition: ddrawi.h:99
#define realloc
Definition: debug_ros.c:6
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
HRESULT hr
Definition: delayimp.cpp:582
#define NULL
Definition: types.h:112
OLECHAR * BSTR
Definition: compat.h:2293
short VARIANT_BOOL
Definition: compat.h:2290
LONG refs
Definition: port.c:62
DWORD WINAPI GetLongPathNameW(IN LPCWSTR lpszShortPath, OUT LPWSTR lpszLongPath, IN DWORD cchBuffer)
Definition: path.c:1555
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
Definition: path.c:1164
LCID lcid
Definition: locale.c:5660
HRESULT WINAPI LoadRegTypeLib(REFGUID rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib **ppTLib)
Definition: typelib.c:507
return ret
Definition: mutex.c:147
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750
GLuint res
Definition: glext.h:9613
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
unsigned int UINT
Definition: sysinfo.c:13
type_id
@ last_tid
@ INetFwAuthorizedApplications_tid
@ INetFwAuthorizedApplication_tid
@ NET_FW_IP_VERSION_ANY
Definition: icftypes.idl:44
enum NET_FW_IP_VERSION_ NET_FW_IP_VERSION
enum NET_FW_SCOPE_ NET_FW_SCOPE
REFIID riid
Definition: atlbase.h:39
static TfClientId tid
#define InterlockedCompareExchangePointer
Definition: interlocked.h:144
#define S_OK
Definition: intsafe.h:52
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_w
Definition: kernel32.h:32
static VARIANTARG static DISPID
Definition: ordinal.c:49
#define LOCALE_SYSTEM_DEFAULT
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:240
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:273
const GUID IID_IDispatch
short WCHAR
Definition: pedump.c:58
long LONG
Definition: pedump.c:60
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define REFIID
Definition: guiddef.h:118
DWORD LCID
Definition: nls.h:13
f_args fa
Definition: format.c:280
#define TRACE(s)
Definition: solgame.cpp:4
Definition: apps.c:40
INetFwAuthorizedApplication INetFwAuthorizedApplication_iface
Definition: apps.c:41
LONG refs
Definition: apps.c:42
BSTR filename
Definition: apps.c:43
Definition: apps.c:453
LONG refs
Definition: apps.c:455
INetFwAuthorizedApplications INetFwAuthorizedApplications_iface
Definition: apps.c:454
Definition: image.c:84
Definition: name.c:39
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon_undoc.h:337
#define WINAPI
Definition: msvc.h:6
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
Definition: winerror.h:210
#define E_NOINTERFACE
Definition: winerror.h:3479
#define E_POINTER
Definition: winerror.h:3480
#define UNIVERSAL_NAME_INFO_LEVEL
Definition: winnetwk.h:151
#define WN_MORE_DATA
Definition: winnetwk.h:117
DWORD WINAPI WNetGetUniversalNameW(LPCWSTR lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpBufferSize)
Definition: wnet.c:2779