ReactOS 0.4.16-dev-329-g9223134
port.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
31#include "wine/heap.h"
32#include "wine/debug.h"
33#include "hnetcfg_private.h"
34
36
37typedef struct fw_port
38{
45
47{
48 return CONTAINING_RECORD(iface, fw_port, INetFwOpenPort_iface);
49}
50
52 INetFwOpenPort *iface )
53{
56}
57
59 INetFwOpenPort *iface )
60{
63 if (!refs)
64 {
65 TRACE("destroying %p\n", fw_port);
68 }
69 return refs;
70}
71
73 INetFwOpenPort *iface,
75 void **ppvObject )
76{
78
79 TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject );
80
81 if ( IsEqualGUID( riid, &IID_INetFwOpenPort ) ||
84 {
85 *ppvObject = iface;
86 }
87 else
88 {
89 FIXME("interface %s not implemented\n", debugstr_guid(riid));
90 return E_NOINTERFACE;
91 }
92 INetFwOpenPort_AddRef( iface );
93 return S_OK;
94}
95
97 INetFwOpenPort *iface,
98 UINT *pctinfo )
99{
101
102 TRACE("%p %p\n", This, pctinfo);
103 *pctinfo = 1;
104 return S_OK;
105}
106
108 INetFwOpenPort *iface,
109 UINT iTInfo,
110 LCID lcid,
111 ITypeInfo **ppTInfo )
112{
114
115 TRACE("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo);
116 return get_typeinfo( INetFwOpenPort_tid, ppTInfo );
117}
118
120 INetFwOpenPort *iface,
121 REFIID riid,
122 LPOLESTR *rgszNames,
123 UINT cNames,
124 LCID lcid,
125 DISPID *rgDispId )
126{
129 HRESULT hr;
130
131 TRACE("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
132
134 if (SUCCEEDED(hr))
135 {
136 hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
137 ITypeInfo_Release( typeinfo );
138 }
139 return hr;
140}
141
143 INetFwOpenPort *iface,
144 DISPID dispIdMember,
145 REFIID riid,
146 LCID lcid,
147 WORD wFlags,
148 DISPPARAMS *pDispParams,
149 VARIANT *pVarResult,
150 EXCEPINFO *pExcepInfo,
151 UINT *puArgErr )
152{
155 HRESULT hr;
156
157 TRACE("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
158 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
159
161 if (SUCCEEDED(hr))
162 {
163 hr = ITypeInfo_Invoke( typeinfo, &This->INetFwOpenPort_iface, dispIdMember,
164 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
165 ITypeInfo_Release( typeinfo );
166 }
167 return hr;
168}
169
171 INetFwOpenPort *iface,
172 BSTR *name)
173{
175
176 FIXME("%p %p\n", This, name);
177 return E_NOTIMPL;
178}
179
181 INetFwOpenPort *iface,
182 BSTR name)
183{
185
186 TRACE("%p %s\n", This, debugstr_w(name));
187
188 if (!(name = SysAllocString( name )))
189 return E_OUTOFMEMORY;
190
191 SysFreeString( This->name );
192 This->name = name;
193 return S_OK;
194}
195
197 INetFwOpenPort *iface,
198 NET_FW_IP_VERSION *ipVersion)
199{
201
202 FIXME("%p %p\n", This, ipVersion);
203 return E_NOTIMPL;
204}
205
207 INetFwOpenPort *iface,
208 NET_FW_IP_VERSION ipVersion)
209{
211
212 FIXME("%p %u\n", This, ipVersion);
213 return E_NOTIMPL;
214}
215
217 INetFwOpenPort *iface,
218 NET_FW_IP_PROTOCOL *ipProtocol)
219{
221
222 FIXME("%p %p\n", This, ipProtocol);
223 return E_NOTIMPL;
224}
225
227 INetFwOpenPort *iface,
228 NET_FW_IP_PROTOCOL ipProtocol)
229{
231
232 TRACE("%p %u\n", This, ipProtocol);
233
234 if (ipProtocol != NET_FW_IP_PROTOCOL_TCP && ipProtocol != NET_FW_IP_PROTOCOL_UDP)
235 return E_INVALIDARG;
236
237 This->protocol = ipProtocol;
238 return S_OK;
239}
240
242 INetFwOpenPort *iface,
243 LONG *portNumber)
244{
246
247 FIXME("%p %p\n", This, portNumber);
248 return E_NOTIMPL;
249}
250
252 INetFwOpenPort *iface,
253 LONG portNumber)
254{
256
257 TRACE("%p %d\n", This, portNumber);
258 This->port = portNumber;
259 return S_OK;
260}
261
263 INetFwOpenPort *iface,
264 NET_FW_SCOPE *scope)
265{
267
268 FIXME("%p %p\n", This, scope);
269 return E_NOTIMPL;
270}
271
273 INetFwOpenPort *iface,
274 NET_FW_SCOPE scope)
275{
277
278 FIXME("%p %u\n", This, scope);
279 return E_NOTIMPL;
280}
281
283 INetFwOpenPort *iface,
284 BSTR *remoteAddrs)
285{
287
288 FIXME("%p %p\n", This, remoteAddrs);
289 return E_NOTIMPL;
290}
291
293 INetFwOpenPort *iface,
294 BSTR remoteAddrs)
295{
297
298 FIXME("%p %s\n", This, debugstr_w(remoteAddrs));
299 return E_NOTIMPL;
300}
301
303 INetFwOpenPort *iface,
305{
307
308 FIXME("%p %p\n", This, enabled);
309
310 *enabled = VARIANT_TRUE;
311 return S_OK;
312}
313
315 INetFwOpenPort *iface,
317{
319
320 FIXME("%p %d\n", This, enabled);
321 return S_OK;
322}
323
325 INetFwOpenPort *iface,
326 VARIANT_BOOL *builtIn)
327{
329
330 FIXME("%p %p\n", This, builtIn);
331 return E_NOTIMPL;
332}
333
334static const struct INetFwOpenPortVtbl fw_port_vtbl =
335{
358};
359
361{
362 fw_port *fp;
363
364 TRACE("(%p,%p)\n", pUnkOuter, ppObj);
365
366 fp = HeapAlloc( GetProcessHeap(), 0, sizeof(*fp) );
367 if (!fp) return E_OUTOFMEMORY;
368
370 fp->refs = 1;
371 fp->name = NULL;
373 fp->port = 0;
374
375 *ppObj = &fp->INetFwOpenPort_iface;
376
377 TRACE("returning iface %p\n", *ppObj);
378 return S_OK;
379}
380
381typedef struct fw_ports
382{
386
388{
389 return CONTAINING_RECORD(iface, fw_ports, INetFwOpenPorts_iface);
390}
391
393 INetFwOpenPorts *iface )
394{
397}
398
400 INetFwOpenPorts *iface )
401{
404 if (!refs)
405 {
406 TRACE("destroying %p\n", fw_ports);
408 }
409 return refs;
410}
411
413 INetFwOpenPorts *iface,
414 REFIID riid,
415 void **ppvObject )
416{
418
419 TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject );
420
421 if ( IsEqualGUID( riid, &IID_INetFwOpenPorts ) ||
424 {
425 *ppvObject = iface;
426 }
427 else
428 {
429 FIXME("interface %s not implemented\n", debugstr_guid(riid));
430 return E_NOINTERFACE;
431 }
432 INetFwOpenPorts_AddRef( iface );
433 return S_OK;
434}
435
437 INetFwOpenPorts *iface,
438 UINT *pctinfo )
439{
441
442 TRACE("%p %p\n", This, pctinfo);
443 *pctinfo = 1;
444 return S_OK;
445}
446
448 INetFwOpenPorts *iface,
449 UINT iTInfo,
450 LCID lcid,
451 ITypeInfo **ppTInfo )
452{
454
455 TRACE("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo);
456 return get_typeinfo( INetFwOpenPorts_tid, ppTInfo );
457}
458
460 INetFwOpenPorts *iface,
461 REFIID riid,
462 LPOLESTR *rgszNames,
463 UINT cNames,
464 LCID lcid,
465 DISPID *rgDispId )
466{
469 HRESULT hr;
470
471 TRACE("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
472
474 if (SUCCEEDED(hr))
475 {
476 hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
477 ITypeInfo_Release( typeinfo );
478 }
479 return hr;
480}
481
483 INetFwOpenPorts *iface,
484 DISPID dispIdMember,
485 REFIID riid,
486 LCID lcid,
487 WORD wFlags,
488 DISPPARAMS *pDispParams,
489 VARIANT *pVarResult,
490 EXCEPINFO *pExcepInfo,
491 UINT *puArgErr )
492{
495 HRESULT hr;
496
497 TRACE("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
498 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
499
501 if (SUCCEEDED(hr))
502 {
503 hr = ITypeInfo_Invoke( typeinfo, &This->INetFwOpenPorts_iface, dispIdMember,
504 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
505 ITypeInfo_Release( typeinfo );
506 }
507 return hr;
508}
509
511 INetFwOpenPorts *iface,
512 LONG *count)
513{
515
516 FIXME("%p, %p\n", This, count);
517
518 *count = 0;
519 return S_OK;
520}
521
523 INetFwOpenPorts *iface,
525{
527
528 FIXME("%p, %p\n", This, port);
529 return S_OK;
530}
531
533 INetFwOpenPorts *iface,
534 LONG portNumber,
535 NET_FW_IP_PROTOCOL ipProtocol)
536{
538
539 FIXME("%p, %d, %u\n", This, portNumber, ipProtocol);
540 return E_NOTIMPL;
541}
542
544 INetFwOpenPorts *iface,
545 LONG portNumber,
546 NET_FW_IP_PROTOCOL ipProtocol,
547 INetFwOpenPort **openPort)
548{
549 HRESULT hr;
551
552 FIXME("%p, %d, %u, %p\n", This, portNumber, ipProtocol, openPort);
553
554 hr = NetFwOpenPort_create( NULL, (void **)openPort );
555 if (SUCCEEDED(hr))
556 {
557 INetFwOpenPort_put_Protocol( *openPort, ipProtocol );
558 INetFwOpenPort_put_Port( *openPort, portNumber );
559 }
560 return hr;
561}
562
564 INetFwOpenPorts *iface,
565 IUnknown **newEnum)
566{
568
569 FIXME("%p, %p\n", This, newEnum);
570 return E_NOTIMPL;
571}
572
573static const struct INetFwOpenPortsVtbl fw_ports_vtbl =
574{
587};
588
590{
591 fw_ports *fp;
592
593 TRACE("(%p,%p)\n", pUnkOuter, ppObj);
594
595 fp = HeapAlloc( GetProcessHeap(), 0, sizeof(*fp) );
596 if (!fp) return E_OUTOFMEMORY;
597
599 fp->refs = 1;
600
601 *ppObj = &fp->INetFwOpenPorts_iface;
602
603 TRACE("returning iface %p\n", *ppObj);
604 return S_OK;
605}
606
607typedef struct _upnpnat
608{
612
613static inline upnpnat *impl_from_IUPnPNAT( IUPnPNAT *iface )
614{
615 return CONTAINING_RECORD(iface, upnpnat, IUPnPNAT_iface);
616}
617
619{
620 upnpnat *This = impl_from_IUPnPNAT( iface );
621
622 TRACE("%p %s %p\n", This, debugstr_guid( riid ), object );
623
624 if ( IsEqualGUID( riid, &IID_IUPnPNAT ) ||
627 {
628 *object = iface;
629 }
631 {
632 TRACE("IProvideClassInfo not supported.\n");
633 return E_NOINTERFACE;
634 }
635 else
636 {
637 FIXME("interface %s not implemented\n", debugstr_guid(riid));
638 return E_NOINTERFACE;
639 }
640 IUPnPNAT_AddRef( iface );
641 return S_OK;
642}
643
645{
646 upnpnat *This = impl_from_IUPnPNAT( iface );
647 return InterlockedIncrement( &This->ref );
648}
649
651{
652 upnpnat *This = impl_from_IUPnPNAT( iface );
653 LONG refs = InterlockedDecrement( &This->ref );
654 if (!refs)
655 {
656 heap_free( This );
657 }
658 return refs;
659}
660
662{
663 upnpnat *This = impl_from_IUPnPNAT( iface );
664
665 TRACE("%p %p\n", This, pctinfo);
666 *pctinfo = 1;
667 return S_OK;
668}
669
670static HRESULT WINAPI upnpnat_GetTypeInfo(IUPnPNAT *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
671{
672 upnpnat *This = impl_from_IUPnPNAT( iface );
673
674 TRACE("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo);
675 return get_typeinfo( IUPnPNAT_tid, ppTInfo );
676}
677
679 UINT cNames, LCID lcid, DISPID *rgDispId)
680{
681 upnpnat *This = impl_from_IUPnPNAT( iface );
683 HRESULT hr;
684
685 TRACE("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
686
688 if (SUCCEEDED(hr))
689 {
690 hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
691 ITypeInfo_Release( typeinfo );
692 }
693 return hr;
694}
695
696static HRESULT WINAPI upnpnat_Invoke(IUPnPNAT *iface, DISPID dispIdMember, REFIID riid, LCID lcid,
697 WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo,
698 UINT *puArgErr)
699{
700 upnpnat *This = impl_from_IUPnPNAT( iface );
702 HRESULT hr;
703
704 TRACE("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
705 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
706
708 if (SUCCEEDED(hr))
709 {
710 hr = ITypeInfo_Invoke( typeinfo, &This->IUPnPNAT_iface, dispIdMember,
711 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
712 ITypeInfo_Release( typeinfo );
713 }
714 return hr;
715}
716
718{
719 upnpnat *This = impl_from_IUPnPNAT( iface );
720 FIXME("%p, %p\n", This, collection);
721 if(collection)
722 *collection = NULL;
723 return E_NOTIMPL;
724}
725
727{
728 upnpnat *This = impl_from_IUPnPNAT( iface );
729 FIXME("%p, %p\n", This, collection);
730 if(collection)
731 *collection = NULL;
732 return E_NOTIMPL;
733}
734
736{
737 upnpnat *This = impl_from_IUPnPNAT( iface );
738 FIXME("%p, %p\n", This, manager);
739 if(manager)
740 *manager = NULL;
741 return E_NOTIMPL;
742}
743
744static const IUPnPNATVtbl upnpnat_vtbl =
745{
756};
757
758
759HRESULT IUPnPNAT_create(IUnknown *outer, void **object)
760{
761 upnpnat *nat;
762
763 TRACE("(%p,%p)\n", outer, object);
764
765 nat = heap_alloc( sizeof(*nat) );
766 if (!nat) return E_OUTOFMEMORY;
767
768 nat->IUPnPNAT_iface.lpVtbl = &upnpnat_vtbl;
769 nat->ref = 1;
770
771 *object = &nat->IUPnPNAT_iface;
772
773 TRACE("returning iface %p\n", *object);
774 return S_OK;
775}
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: apps.c:124
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
#define InterlockedIncrement
Definition: armddk.h:53
#define InterlockedDecrement
Definition: armddk.h:52
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
#define FIXME(fmt,...)
Definition: precomp.h:53
const GUID IID_IUnknown
#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
static const struct INetFwOpenPortsVtbl fw_ports_vtbl
Definition: port.c:573
static HRESULT WINAPI upnpnat_GetTypeInfo(IUPnPNAT *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: port.c:670
static HRESULT WINAPI fw_port_put_Name(INetFwOpenPort *iface, BSTR name)
Definition: port.c:180
static HRESULT WINAPI fw_port_put_Port(INetFwOpenPort *iface, LONG portNumber)
Definition: port.c:251
static const struct INetFwOpenPortVtbl fw_port_vtbl
Definition: port.c:334
static HRESULT WINAPI fw_port_get_BuiltIn(INetFwOpenPort *iface, VARIANT_BOOL *builtIn)
Definition: port.c:324
static HRESULT WINAPI upnpnat_Invoke(IUPnPNAT *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: port.c:696
static HRESULT WINAPI upnpnat_GetTypeInfoCount(IUPnPNAT *iface, UINT *pctinfo)
Definition: port.c:661
static HRESULT WINAPI fw_ports_Remove(INetFwOpenPorts *iface, LONG portNumber, NET_FW_IP_PROTOCOL ipProtocol)
Definition: port.c:532
static HRESULT WINAPI upnpnat_get_StaticPortMappingCollection(IUPnPNAT *iface, IStaticPortMappingCollection **collection)
Definition: port.c:717
static HRESULT WINAPI fw_port_put_IpVersion(INetFwOpenPort *iface, NET_FW_IP_VERSION ipVersion)
Definition: port.c:206
static fw_port * impl_from_INetFwOpenPort(INetFwOpenPort *iface)
Definition: port.c:46
static HRESULT WINAPI fw_port_get_Port(INetFwOpenPort *iface, LONG *portNumber)
Definition: port.c:241
static HRESULT WINAPI fw_ports_Add(INetFwOpenPorts *iface, INetFwOpenPort *port)
Definition: port.c:522
static HRESULT WINAPI fw_ports_get__NewEnum(INetFwOpenPorts *iface, IUnknown **newEnum)
Definition: port.c:563
static ULONG WINAPI upnpnat_Release(IUPnPNAT *iface)
Definition: port.c:650
static HRESULT WINAPI fw_port_get_IpVersion(INetFwOpenPort *iface, NET_FW_IP_VERSION *ipVersion)
Definition: port.c:196
static ULONG WINAPI upnpnat_AddRef(IUPnPNAT *iface)
Definition: port.c:644
static HRESULT WINAPI fw_ports_Item(INetFwOpenPorts *iface, LONG portNumber, NET_FW_IP_PROTOCOL ipProtocol, INetFwOpenPort **openPort)
Definition: port.c:543
static HRESULT WINAPI fw_port_get_Name(INetFwOpenPort *iface, BSTR *name)
Definition: port.c:170
static HRESULT WINAPI fw_port_GetTypeInfo(INetFwOpenPort *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: port.c:107
HRESULT IUPnPNAT_create(IUnknown *outer, void **object)
Definition: port.c:759
HRESULT NetFwOpenPort_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: port.c:360
static HRESULT WINAPI upnpnat_GetIDsOfNames(IUPnPNAT *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: port.c:678
static HRESULT WINAPI fw_ports_GetTypeInfo(INetFwOpenPorts *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: port.c:447
static HRESULT WINAPI fw_ports_get_Count(INetFwOpenPorts *iface, LONG *count)
Definition: port.c:510
static HRESULT WINAPI fw_port_GetIDsOfNames(INetFwOpenPort *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: port.c:119
static HRESULT WINAPI fw_ports_GetTypeInfoCount(INetFwOpenPorts *iface, UINT *pctinfo)
Definition: port.c:436
static HRESULT WINAPI upnpnat_get_NATEventManager(IUPnPNAT *iface, INATEventManager **manager)
Definition: port.c:735
static HRESULT WINAPI fw_ports_GetIDsOfNames(INetFwOpenPorts *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: port.c:459
static HRESULT WINAPI fw_port_QueryInterface(INetFwOpenPort *iface, REFIID riid, void **ppvObject)
Definition: port.c:72
static fw_ports * impl_from_INetFwOpenPorts(INetFwOpenPorts *iface)
Definition: port.c:387
static HRESULT WINAPI fw_port_GetTypeInfoCount(INetFwOpenPort *iface, UINT *pctinfo)
Definition: port.c:96
static HRESULT WINAPI upnpnat_get_DynamicPortMappingCollection(IUPnPNAT *iface, IDynamicPortMappingCollection **collection)
Definition: port.c:726
HRESULT NetFwOpenPorts_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: port.c:589
static const IUPnPNATVtbl upnpnat_vtbl
Definition: port.c:744
struct _upnpnat upnpnat
static ULONG WINAPI fw_ports_AddRef(INetFwOpenPorts *iface)
Definition: port.c:392
static ULONG WINAPI fw_port_Release(INetFwOpenPort *iface)
Definition: port.c:58
static HRESULT WINAPI fw_port_get_Scope(INetFwOpenPort *iface, NET_FW_SCOPE *scope)
Definition: port.c:262
static ULONG WINAPI fw_port_AddRef(INetFwOpenPort *iface)
Definition: port.c:51
static upnpnat * impl_from_IUPnPNAT(IUPnPNAT *iface)
Definition: port.c:613
static HRESULT WINAPI fw_port_get_Enabled(INetFwOpenPort *iface, VARIANT_BOOL *enabled)
Definition: port.c:302
static HRESULT WINAPI fw_port_put_Enabled(INetFwOpenPort *iface, VARIANT_BOOL enabled)
Definition: port.c:314
static HRESULT WINAPI fw_ports_QueryInterface(INetFwOpenPorts *iface, REFIID riid, void **ppvObject)
Definition: port.c:412
static HRESULT WINAPI fw_ports_Invoke(INetFwOpenPorts *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: port.c:482
static HRESULT WINAPI fw_port_get_RemoteAddresses(INetFwOpenPort *iface, BSTR *remoteAddrs)
Definition: port.c:282
static HRESULT WINAPI fw_port_put_Scope(INetFwOpenPort *iface, NET_FW_SCOPE scope)
Definition: port.c:272
static ULONG WINAPI fw_ports_Release(INetFwOpenPorts *iface)
Definition: port.c:399
static HRESULT WINAPI fw_port_Invoke(INetFwOpenPort *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: port.c:142
static HRESULT WINAPI fw_port_put_Protocol(INetFwOpenPort *iface, NET_FW_IP_PROTOCOL ipProtocol)
Definition: port.c:226
static HRESULT WINAPI fw_port_get_Protocol(INetFwOpenPort *iface, NET_FW_IP_PROTOCOL *ipProtocol)
Definition: port.c:216
static HRESULT WINAPI upnpnat_QueryInterface(IUPnPNAT *iface, REFIID riid, void **object)
Definition: port.c:618
static HRESULT WINAPI fw_port_put_RemoteAddresses(INetFwOpenPort *iface, BSTR remoteAddrs)
Definition: port.c:292
USHORT port
Definition: uri.c:228
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
@ INetFwOpenPort_tid
@ INetFwOpenPorts_tid
@ IUPnPNAT_tid
enum NET_FW_IP_PROTOCOL_ NET_FW_IP_PROTOCOL
enum NET_FW_IP_VERSION_ NET_FW_IP_VERSION
enum NET_FW_SCOPE_ NET_FW_SCOPE
@ NET_FW_IP_PROTOCOL_TCP
Definition: icftypes.idl:75
@ NET_FW_IP_PROTOCOL_UDP
Definition: icftypes.idl:76
REFIID riid
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_w
Definition: kernel32.h:32
static LPOLESTR
Definition: stg_prop.c:27
static ICollection collection
Definition: typelib.c:184
static VARIANTARG static DISPID
Definition: ordinal.c:52
unsigned int UINT
Definition: ndis.h:50
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
const GUID IID_IProvideClassInfo
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
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
Definition: port.c:608
LONG ref
Definition: port.c:610
IUPnPNAT IUPnPNAT_iface
Definition: port.c:609
Definition: port.c:38
INetFwOpenPort INetFwOpenPort_iface
Definition: port.c:39
LONG port
Definition: port.c:43
BSTR name
Definition: port.c:41
LONG refs
Definition: port.c:40
NET_FW_IP_PROTOCOL protocol
Definition: port.c:42
Definition: port.c:382
LONG refs
Definition: port.c:384
INetFwOpenPorts INetFwOpenPorts_iface
Definition: port.c:383
Definition: name.c:39
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
_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