ReactOS 0.4.15-dev-7906-g1b85a5f
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
40typedef struct fw_app
41{
46
48{
49 return CONTAINING_RECORD(iface, fw_app, INetFwAuthorizedApplication_iface);
50}
51
54{
57}
58
61{
64 if (!refs)
65 {
66 TRACE("destroying %p\n", fw_app);
69 }
70 return refs;
71}
72
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
111static 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 {
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
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 }
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 {
312 return E_OUTOFMEMORY;
313 }
314 GetLongPathNameW(path, path, longsz);
315 }
316
317 SysFreeString( This->filename );
318 This->filename = SysAllocString(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
409static 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}
450typedef struct fw_apps
451{
455
457{
458 return CONTAINING_RECORD(iface, fw_apps, INetFwAuthorizedApplications_iface);
459}
460
463{
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
629static const struct INetFwAuthorizedApplicationsVtbl fw_apps_vtbl =
630{
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}
static HRESULT WINAPI fw_apps_Add(INetFwAuthorizedApplications *iface, INetFwAuthorizedApplication *app)
Definition: apps.c:588
static HRESULT WINAPI fw_app_put_Enabled(INetFwAuthorizedApplication *iface, VARIANT_BOOL enabled)
Definition: apps.c:399
static REFIID tid_id[]
Definition: apps.c:111
HRESULT NetFwAuthorizedApplication_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: apps.c:432
static HRESULT WINAPI fw_app_GetTypeInfo(INetFwAuthorizedApplication *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: apps.c:171
static ULONG WINAPI fw_apps_Release(INetFwAuthorizedApplications *iface)
Definition: apps.c:468
static HRESULT WINAPI fw_app_get_ProcessImageFileName(INetFwAuthorizedApplication *iface, BSTR *imageFileName)
Definition: apps.c:254
static HRESULT WINAPI fw_apps_GetTypeInfoCount(INetFwAuthorizedApplications *iface, UINT *pctinfo)
Definition: apps.c:505
static HRESULT WINAPI fw_app_get_IpVersion(INetFwAuthorizedApplication *iface, NET_FW_IP_VERSION *ipVersion)
Definition: apps.c:323
static HRESULT WINAPI fw_app_GetIDsOfNames(INetFwAuthorizedApplication *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: apps.c:183
static ULONG WINAPI fw_app_AddRef(INetFwAuthorizedApplication *iface)
Definition: apps.c:52
static HRESULT WINAPI fw_apps_GetTypeInfo(INetFwAuthorizedApplications *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: apps.c:515
static fw_app * impl_from_INetFwAuthorizedApplication(INetFwAuthorizedApplication *iface)
Definition: apps.c:47
static ITypeLib * typelib
Definition: apps.c:108
static const struct INetFwAuthorizedApplicationsVtbl fw_apps_vtbl
Definition: apps.c:629
static HRESULT WINAPI fw_apps_get_Count(INetFwAuthorizedApplications *iface, LONG *count)
Definition: apps.c:578
static HRESULT WINAPI fw_apps_GetIDsOfNames(INetFwAuthorizedApplications *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: apps.c:527
static HRESULT WINAPI fw_app_get_Name(INetFwAuthorizedApplication *iface, BSTR *name)
Definition: apps.c:234
static HRESULT WINAPI fw_app_put_IpVersion(INetFwAuthorizedApplication *iface, NET_FW_IP_VERSION ipVersion)
Definition: apps.c:337
static HRESULT WINAPI fw_apps_Item(INetFwAuthorizedApplications *iface, BSTR imageFileName, INetFwAuthorizedApplication **app)
Definition: apps.c:608
static HRESULT WINAPI fw_app_QueryInterface(INetFwAuthorizedApplication *iface, REFIID riid, void **ppvObject)
Definition: apps.c:73
static fw_apps * impl_from_INetFwAuthorizedApplications(INetFwAuthorizedApplications *iface)
Definition: apps.c:456
static HRESULT WINAPI fw_app_get_Scope(INetFwAuthorizedApplication *iface, NET_FW_SCOPE *scope)
Definition: apps.c:347
static HRESULT WINAPI fw_apps_Remove(INetFwAuthorizedApplications *iface, BSTR imageFileName)
Definition: apps.c:598
static HRESULT WINAPI fw_app_put_Name(INetFwAuthorizedApplication *iface, BSTR name)
Definition: apps.c:244
static HRESULT WINAPI fw_app_put_ProcessImageFileName(INetFwAuthorizedApplication *iface, BSTR image)
Definition: apps.c:269
static ULONG WINAPI fw_apps_AddRef(INetFwAuthorizedApplications *iface)
Definition: apps.c:461
static HRESULT WINAPI fw_apps_get__NewEnum(INetFwAuthorizedApplications *iface, IUnknown **newEnum)
Definition: apps.c:619
static HRESULT WINAPI fw_app_get_RemoteAddresses(INetFwAuthorizedApplication *iface, BSTR *remoteAddrs)
Definition: apps.c:367
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: apps.c:124
void release_typelib(void)
Definition: apps.c:159
static HRESULT WINAPI fw_apps_QueryInterface(INetFwAuthorizedApplications *iface, REFIID riid, void **ppvObject)
Definition: apps.c:481
static HRESULT WINAPI fw_app_put_RemoteAddresses(INetFwAuthorizedApplication *iface, BSTR remoteAddrs)
Definition: apps.c:377
static HRESULT WINAPI fw_app_GetTypeInfoCount(INetFwAuthorizedApplication *iface, UINT *pctinfo)
Definition: apps.c:97
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 ULONG WINAPI fw_app_Release(INetFwAuthorizedApplication *iface)
Definition: apps.c:59
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
static HRESULT WINAPI fw_app_put_Scope(INetFwAuthorizedApplication *iface, NET_FW_SCOPE scope)
Definition: apps.c:357
HRESULT NetFwAuthorizedApplications_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: apps.c:645
static HRESULT WINAPI fw_app_get_Enabled(INetFwAuthorizedApplication *iface, VARIANT_BOOL *enabled)
Definition: apps.c:387
static const struct INetFwAuthorizedApplicationVtbl fw_app_vtbl
Definition: apps.c:409
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
static void * heap_realloc(void *mem, size_t len)
Definition: appwiz.h:71
#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:33
const GUID IID_IUnknown
#define FIXME(fmt,...)
Definition: debug.h:111
#define ERR(fmt,...)
Definition: debug.h:110
#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 NULL
Definition: types.h:112
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
OLECHAR * BSTR
Definition: compat.h:2293
#define HeapFree(x, y, z)
Definition: compat.h:735
short VARIANT_BOOL
Definition: compat.h:2290
DWORD WINAPI GetLongPathNameW(IN LPCWSTR lpszShortPath, OUT LPWSTR lpszLongPath, IN DWORD cchBuffer)
Definition: path.c:1456
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
Definition: path.c:1106
HRESULT WINAPI LoadRegTypeLib(REFGUID rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib **ppTLib)
Definition: typelib.c:531
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
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
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
#define InterlockedCompareExchangePointer
Definition: interlocked.h:129
#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 TfClientId tid
static LPOLESTR
Definition: stg_prop.c:27
static VARIANTARG static DISPID
Definition: ordinal.c:52
unsigned int UINT
Definition: ndis.h:50
#define LOCALE_SYSTEM_DEFAULT
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
const GUID IID_IDispatch
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
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
Definition: apps.c:41
INetFwAuthorizedApplication INetFwAuthorizedApplication_iface
Definition: apps.c:42
LONG refs
Definition: apps.c:43
BSTR filename
Definition: apps.c:44
Definition: apps.c:451
LONG refs
Definition: apps.c:453
INetFwAuthorizedApplications INetFwAuthorizedApplications_iface
Definition: apps.c:452
Definition: name.c:39
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
int ret
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define WINAPI
Definition: msvc.h:6
#define E_NOINTERFACE
Definition: winerror.h:2364
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
#define E_POINTER
Definition: winerror.h:2365
#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:2777
__wchar_t WCHAR
Definition: xmlstorage.h:180