ReactOS 0.4.15-dev-7924-g5949c20
policy.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
30#include "wine/debug.h"
31#include "hnetcfg_private.h"
32
34
35typedef struct fw_policy
36{
40
42{
43 return CONTAINING_RECORD(iface, fw_policy, INetFwPolicy_iface);
44}
45
46typedef struct fw_policy2
47{
52
54{
55 return CONTAINING_RECORD(iface, fw_policy2, INetFwPolicy2_iface);
56}
57
58typedef struct fw_rules
59{
63
65{
66 return CONTAINING_RECORD(iface, fw_rules, INetFwRules_iface);
67}
68
70 INetFwRules *iface,
72 void **object)
73{
75
76 TRACE("%p %s %p\n", This, debugstr_guid( riid ), object );
77
78 if ( IsEqualGUID( riid, &IID_INetFwRules ) ||
81 {
82 *object = iface;
83 }
84 else
85 {
86 FIXME("interface %s not implemented\n", debugstr_guid(riid));
87 return E_NOINTERFACE;
88 }
89 INetFwRules_AddRef( iface );
90 return S_OK;
91}
92
94 INetFwRules *iface )
95{
97 return InterlockedIncrement( &This->refs );
98}
99
101 INetFwRules *iface )
102{
104 LONG refs = InterlockedDecrement( &This->refs );
105 if (!refs)
106 {
107 TRACE("destroying %p\n", This);
109 }
110 return refs;
111}
112
114 INetFwRules *iface,
115 UINT *pctinfo )
116{
118
119 TRACE("%p %p\n", This, pctinfo);
120 *pctinfo = 1;
121 return S_OK;
122}
123
125 INetFwRules *iface,
126 UINT iTInfo,
127 LCID lcid,
128 ITypeInfo **ppTInfo)
129{
131
132 TRACE("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo);
133 return get_typeinfo( INetFwRules_tid, ppTInfo );
134}
135
137 INetFwRules *iface,
138 REFIID riid,
139 LPOLESTR *rgszNames,
140 UINT cNames,
141 LCID lcid,
142 DISPID *rgDispId)
143{
146 HRESULT hr;
147
148 TRACE("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
149
151 if (SUCCEEDED(hr))
152 {
153 hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
154 ITypeInfo_Release( typeinfo );
155 }
156 return hr;
157}
158
160 INetFwRules *iface,
161 DISPID dispIdMember,
162 REFIID riid,
163 LCID lcid,
164 WORD wFlags,
165 DISPPARAMS *pDispParams,
166 VARIANT *pVarResult,
167 EXCEPINFO *pExcepInfo,
168 UINT *puArgErr)
169{
172 HRESULT hr;
173
174 TRACE("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
175 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
176
178 if (SUCCEEDED(hr))
179 {
180 hr = ITypeInfo_Invoke( typeinfo, &This->INetFwRules_iface, dispIdMember,
181 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
182 ITypeInfo_Release( typeinfo );
183 }
184 return hr;
185}
186
188 INetFwRules *iface,
189 LONG *count)
190{
192
193 FIXME("%p, %p\n", This, count);
194
195 if (count)
196 *count = 0;
197
198 return S_OK;
199}
200
202 INetFwRules *iface,
203 INetFwRule *rule)
204{
206
207 FIXME("%p, %p\n", This, rule);
208 return E_NOTIMPL;
209}
210
212 INetFwRules *iface,
213 BSTR name)
214{
216
217 FIXME("%p, %s\n", This, debugstr_w(name));
218 return E_NOTIMPL;
219}
220
222 INetFwRules *iface,
223 BSTR name,
224 INetFwRule **rule)
225{
227
228 FIXME("%p, %s, %p\n", This, debugstr_w(name), rule);
229#ifdef __REACTOS__
230 return S_OK; /* CORE-16372 Jansen's hack */
231#else
232 return E_NOTIMPL;
233#endif
234}
235
237 INetFwRules *iface,
238 IUnknown **newEnum)
239{
241
242 FIXME("%p, %p\n", This, newEnum);
243
244 if (!newEnum) return E_POINTER;
245 *newEnum = NULL;
246
247 return E_NOTIMPL;
248}
249
250static const struct INetFwRulesVtbl fw_rules_vtbl =
251{
264};
265
267{
268 fw_rules *rules;
269
270 TRACE("(%p)\n", object);
271
272 rules = HeapAlloc( GetProcessHeap(), 0, sizeof(*rules) );
273 if (!rules) return E_OUTOFMEMORY;
274
275 rules->INetFwRules_iface.lpVtbl = &fw_rules_vtbl;
276 rules->refs = 1;
277
278 *object = &rules->INetFwRules_iface;
279
280 TRACE("returning iface %p\n", *object);
281 return S_OK;
282}
283
285 INetFwPolicy *iface )
286{
289}
290
292 INetFwPolicy *iface )
293{
296 if (!refs)
297 {
298 TRACE("destroying %p\n", fw_policy);
300 }
301 return refs;
302}
303
305 INetFwPolicy *iface,
306 REFIID riid,
307 void **ppvObject )
308{
310
311 TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject );
312
313 if ( IsEqualGUID( riid, &IID_INetFwPolicy ) ||
316 {
317 *ppvObject = iface;
318 }
319 else
320 {
321 FIXME("interface %s not implemented\n", debugstr_guid(riid));
322 return E_NOINTERFACE;
323 }
324 INetFwPolicy_AddRef( iface );
325 return S_OK;
326}
327
329 INetFwPolicy *iface,
330 UINT *pctinfo )
331{
333
334 TRACE("%p %p\n", This, pctinfo);
335 *pctinfo = 1;
336 return S_OK;
337}
338
340 INetFwPolicy *iface,
341 UINT iTInfo,
342 LCID lcid,
343 ITypeInfo **ppTInfo )
344{
346
347 TRACE("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo);
348 return get_typeinfo( INetFwPolicy_tid, ppTInfo );
349}
350
352 INetFwPolicy *iface,
353 REFIID riid,
354 LPOLESTR *rgszNames,
355 UINT cNames,
356 LCID lcid,
357 DISPID *rgDispId )
358{
361 HRESULT hr;
362
363 TRACE("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
364
366 if (SUCCEEDED(hr))
367 {
368 hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
369 ITypeInfo_Release( typeinfo );
370 }
371 return hr;
372}
373
375 INetFwPolicy *iface,
376 DISPID dispIdMember,
377 REFIID riid,
378 LCID lcid,
379 WORD wFlags,
380 DISPPARAMS *pDispParams,
381 VARIANT *pVarResult,
382 EXCEPINFO *pExcepInfo,
383 UINT *puArgErr )
384{
387 HRESULT hr;
388
389 TRACE("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
390 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
391
393 if (SUCCEEDED(hr))
394 {
395 hr = ITypeInfo_Invoke( typeinfo, &This->INetFwPolicy_iface, dispIdMember,
396 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
397 ITypeInfo_Release( typeinfo );
398 }
399 return hr;
400}
401
403 INetFwPolicy *iface,
405{
407
408 TRACE("%p, %p\n", This, profile);
409 return NetFwProfile_create( NULL, (void **)profile );
410}
411
413 INetFwPolicy *iface,
414 NET_FW_PROFILE_TYPE profileType,
416{
418
419 FIXME("%p, %u, %p\n", This, profileType, profile);
420 return E_NOTIMPL;
421}
422
423static const struct INetFwPolicyVtbl fw_policy_vtbl =
424{
434};
435
437{
438 fw_policy *fp;
439
440 TRACE("(%p,%p)\n", pUnkOuter, ppObj);
441
442 fp = HeapAlloc( GetProcessHeap(), 0, sizeof(*fp) );
443 if (!fp) return E_OUTOFMEMORY;
444
446 fp->refs = 1;
447
448 *ppObj = &fp->INetFwPolicy_iface;
449
450 TRACE("returning iface %p\n", *ppObj);
451 return S_OK;
452}
453
455{
457
458 TRACE("%p %s %p\n", This, debugstr_guid( riid ), out );
459
460 if ( IsEqualGUID( riid, &IID_INetFwPolicy2 ) ||
463 {
464 *out = iface;
465 }
466 else if( IsEqualGUID( riid, &IID_INetFwRules ) )
467 {
468 TRACE("INetFwRules not supported\n");
469 return E_NOINTERFACE;
470 }
471 else
472 {
473 FIXME("interface %s not implemented\n", debugstr_guid(riid));
474 return E_NOINTERFACE;
475 }
476 INetFwPolicy2_AddRef( iface );
477 return S_OK;
478}
479
481{
484}
485
487{
490 if (!refs)
491 {
492 INetFwRules_Release(fw_policy->fw_policy2_rules);
493 TRACE("destroying %p\n", fw_policy);
495 }
496 return refs;
497}
498
500{
502
503 TRACE("%p %p\n", This, pctinfo);
504 *pctinfo = 1;
505 return S_OK;
506}
507
509{
511
512 TRACE("%p %u %u %p\n", This, iTInfo, lcid, info);
514}
515
517 UINT cNames, LCID lcid, DISPID *rgDispId)
518{
521 HRESULT hr;
522
523 TRACE("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
524
526 if (SUCCEEDED(hr))
527 {
528 hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId );
529 ITypeInfo_Release( typeinfo );
530 }
531 return hr;
532}
533
535 WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
536{
539 HRESULT hr;
540
541 TRACE("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid),
542 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
543
545 if (SUCCEEDED(hr))
546 {
547 hr = ITypeInfo_Invoke( typeinfo, &This->INetFwPolicy2_iface, dispIdMember,
548 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr );
549 ITypeInfo_Release( typeinfo );
550 }
551 return hr;
552}
553
555{
557
558 FIXME("%p %p\n", This, profile);
559 return E_NOTIMPL;
560}
561
563{
565
566 FIXME("%p %d %p\n", This, profileType, enabled);
567 return E_NOTIMPL;
568}
569
571{
573
574 FIXME("%p %d %d\n", This, profileType, enabled);
575 return E_NOTIMPL;
576}
577
579{
581
582 FIXME("%p %d %p\n", This, profileType, interfaces);
583 return E_NOTIMPL;
584}
585
587{
589 FIXME("%p %d\n", This, profileType);
590 return E_NOTIMPL;
591}
592
594{
596
597 FIXME("%p %d %p\n", This, profileType, block);
598 return E_NOTIMPL;
599}
600
602{
604
605 FIXME("%p %d %d\n", This, profileType, block);
606 return E_NOTIMPL;
607}
608
610{
612
613 FIXME("%p %d %p\n", This, profileType, disabled);
614 return E_NOTIMPL;
615}
616
618{
620
621 FIXME("%p %d %d\n", This, profileType, disabled);
622 return E_NOTIMPL;
623}
624
626{
628
629 FIXME("%p %d %p\n", This, profileType, disabled);
630 return E_NOTIMPL;
631}
632
634{
636
637 FIXME("%p %d %d\n", This, profileType, disabled);
638 return E_NOTIMPL;
639}
640
642{
644
645 TRACE("%p %p\n", This, rules);
646
647 if(!rules)
648 return E_POINTER;
649
650 *rules = This->fw_policy2_rules;
651 INetFwRules_AddRef(This->fw_policy2_rules);
652
653 return S_OK;
654}
655
657{
659
660 FIXME("%p %p\n", This, ServiceRestriction);
661 return E_NOTIMPL;
662}
663
665{
667
668 FIXME("%p %d %s %d\n", This, bitmask, debugstr_w(group), enable);
669 return E_NOTIMPL;
670}
671
673{
675
676 FIXME("%p %d %s %p\n", This, bitmask, debugstr_w(group), enabled);
677 return E_NOTIMPL;
678}
679
681{
683
684 FIXME("%p\n", This);
685 return E_NOTIMPL;
686}
687
689{
691
692 FIXME("%p %d %p\n", This, profileType, action);
693 return E_NOTIMPL;
694}
695
697{
699
700 FIXME("%p %d %d\n", This, profileType, action);
701 return E_NOTIMPL;
702}
703
705{
707
708 FIXME("%p %d %p\n", This, profileType, action);
709 return E_NOTIMPL;
710}
711
713{
715
716 FIXME("%p %d %d\n", This, profileType, action);
717 return E_NOTIMPL;
718}
719
721{
723
724 FIXME("%p %s %p\n", This, debugstr_w(group), enabled);
725 return E_NOTIMPL;
726}
727
729{
731
732 FIXME("%p %p\n", This, modifyState);
733 return E_NOTIMPL;
734}
735
736static const struct INetFwPolicy2Vtbl fw_policy2_vtbl =
737{
767};
768
770{
771 fw_policy2 *fp;
772
773 TRACE("(%p,%p)\n", outer, obj);
774
775 fp = HeapAlloc( GetProcessHeap(), 0, sizeof(*fp) );
776 if (!fp) return E_OUTOFMEMORY;
777
779 fp->refs = 1;
780
781 *obj = &fp->INetFwPolicy2_iface;
782
784 {
785 HeapFree( GetProcessHeap(), 0, fp );
786 return E_OUTOFMEMORY;
787 }
788
789 TRACE("returning iface %p\n", *obj);
790 return S_OK;
791}
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: apps.c:124
#define InterlockedIncrement
Definition: armddk.h:53
#define InterlockedDecrement
Definition: armddk.h:52
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
const GUID IID_IUnknown
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#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 HRESULT WINAPI fw_policy_GetProfileByType(INetFwPolicy *iface, NET_FW_PROFILE_TYPE profileType, INetFwProfile **profile)
Definition: policy.c:412
static ULONG WINAPI netfw_rules_Release(INetFwRules *iface)
Definition: policy.c:100
static HRESULT WINAPI netfw_rules_GetTypeInfoCount(INetFwRules *iface, UINT *pctinfo)
Definition: policy.c:113
static HRESULT WINAPI fwpolicy2_put_UnicastResponsesToMulticastBroadcastDisabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL disabled)
Definition: policy.c:633
static ULONG WINAPI fw_policy_AddRef(INetFwPolicy *iface)
Definition: policy.c:284
static HRESULT WINAPI fwpolicy2_get_LocalPolicyModifyState(INetFwPolicy2 *iface, NET_FW_MODIFY_STATE *modifyState)
Definition: policy.c:728
static HRESULT WINAPI fwpolicy2_Invoke(INetFwPolicy2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: policy.c:534
static HRESULT WINAPI netfw_rules_Remove(INetFwRules *iface, BSTR name)
Definition: policy.c:211
HRESULT NetFwPolicy_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: policy.c:436
static HRESULT WINAPI fwpolicy2_get_DefaultOutboundAction(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, NET_FW_ACTION *action)
Definition: policy.c:704
static HRESULT WINAPI fwpolicy2_put_BlockAllInboundTraffic(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL block)
Definition: policy.c:601
static HRESULT WINAPI fwpolicy2_GetTypeInfo(INetFwPolicy2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **info)
Definition: policy.c:508
static HRESULT WINAPI fwpolicy2_GetTypeInfoCount(INetFwPolicy2 *iface, UINT *pctinfo)
Definition: policy.c:499
static ULONG WINAPI netfw_rules_AddRef(INetFwRules *iface)
Definition: policy.c:93
static HRESULT WINAPI netfw_rules_GetTypeInfo(INetFwRules *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: policy.c:124
static ULONG WINAPI fwpolicy2_AddRef(INetFwPolicy2 *iface)
Definition: policy.c:480
static HRESULT WINAPI netfw_rules_Item(INetFwRules *iface, BSTR name, INetFwRule **rule)
Definition: policy.c:221
static HRESULT WINAPI netfw_rules_get__NewEnum(INetFwRules *iface, IUnknown **newEnum)
Definition: policy.c:236
static const struct INetFwRulesVtbl fw_rules_vtbl
Definition: policy.c:250
static HRESULT WINAPI fwpolicy2_get_FirewallEnabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL *enabled)
Definition: policy.c:562
static HRESULT WINAPI fwpolicy2_get_ServiceRestriction(INetFwPolicy2 *iface, INetFwServiceRestriction **ServiceRestriction)
Definition: policy.c:656
static HRESULT WINAPI fwpolicy2_RestoreLocalFirewallDefaults(INetFwPolicy2 *iface)
Definition: policy.c:680
static HRESULT WINAPI fwpolicy2_EnableRuleGroup(INetFwPolicy2 *iface, LONG bitmask, BSTR group, VARIANT_BOOL enable)
Definition: policy.c:664
static HRESULT WINAPI fwpolicy2_get_Rules(INetFwPolicy2 *iface, INetFwRules **rules)
Definition: policy.c:641
static HRESULT WINAPI netfw_rules_GetIDsOfNames(INetFwRules *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: policy.c:136
static HRESULT WINAPI fwpolicy2_get_CurrentProfileTypes(INetFwPolicy2 *iface, LONG *profile)
Definition: policy.c:554
HRESULT NetFwPolicy2_create(IUnknown *outer, void **obj)
Definition: policy.c:769
static HRESULT WINAPI fw_policy_GetTypeInfo(INetFwPolicy *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: policy.c:339
static HRESULT WINAPI fwpolicy2_get_IsRuleGroupCurrentlyEnabled(INetFwPolicy2 *iface, BSTR group, VARIANT_BOOL *enabled)
Definition: policy.c:720
static fw_rules * impl_from_INetFwRules(INetFwRules *iface)
Definition: policy.c:64
static HRESULT WINAPI fw_policy_QueryInterface(INetFwPolicy *iface, REFIID riid, void **ppvObject)
Definition: policy.c:304
static HRESULT WINAPI fwpolicy2_put_NotificationsDisabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL disabled)
Definition: policy.c:617
static const struct INetFwPolicy2Vtbl fw_policy2_vtbl
Definition: policy.c:736
static HRESULT WINAPI fw_policy_get_CurrentProfile(INetFwPolicy *iface, INetFwProfile **profile)
Definition: policy.c:402
static HRESULT WINAPI fw_policy_GetIDsOfNames(INetFwPolicy *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: policy.c:351
static HRESULT WINAPI fwpolicy2_GetIDsOfNames(INetFwPolicy2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: policy.c:516
static HRESULT WINAPI fwpolicy2_IsRuleGroupEnabled(INetFwPolicy2 *iface, LONG bitmask, BSTR group, VARIANT_BOOL *enabled)
Definition: policy.c:672
static HRESULT WINAPI netfw_rules_get_Count(INetFwRules *iface, LONG *count)
Definition: policy.c:187
static HRESULT WINAPI fwpolicy2_put_DefaultInboundAction(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, NET_FW_ACTION action)
Definition: policy.c:696
static HRESULT WINAPI fw_policy_GetTypeInfoCount(INetFwPolicy *iface, UINT *pctinfo)
Definition: policy.c:328
static HRESULT WINAPI fwpolicy2_put_DefaultOutboundAction(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, NET_FW_ACTION action)
Definition: policy.c:712
static HRESULT WINAPI fwpolicy2_put_FirewallEnabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL enabled)
Definition: policy.c:570
static HRESULT WINAPI netfw_rules_QueryInterface(INetFwRules *iface, REFIID riid, void **object)
Definition: policy.c:69
static HRESULT WINAPI fwpolicy2_put_ExcludedInterfaces(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT interfaces)
Definition: policy.c:586
static fw_policy * impl_from_INetFwPolicy(INetFwPolicy *iface)
Definition: policy.c:41
static ULONG WINAPI fw_policy_Release(INetFwPolicy *iface)
Definition: policy.c:291
static HRESULT WINAPI fwpolicy2_get_ExcludedInterfaces(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT *interfaces)
Definition: policy.c:578
static HRESULT WINAPI fw_policy_Invoke(INetFwPolicy *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: policy.c:374
static HRESULT WINAPI fwpolicy2_QueryInterface(INetFwPolicy2 *iface, REFIID riid, void **out)
Definition: policy.c:454
static HRESULT WINAPI netfw_rules_Add(INetFwRules *iface, INetFwRule *rule)
Definition: policy.c:201
static HRESULT WINAPI fwpolicy2_get_NotificationsDisabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL *disabled)
Definition: policy.c:609
static HRESULT WINAPI fwpolicy2_get_BlockAllInboundTraffic(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL *block)
Definition: policy.c:593
static HRESULT create_INetFwRules(INetFwRules **object)
Definition: policy.c:266
static HRESULT WINAPI fwpolicy2_get_DefaultInboundAction(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, NET_FW_ACTION *action)
Definition: policy.c:688
static HRESULT WINAPI netfw_rules_Invoke(INetFwRules *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: policy.c:159
static HRESULT WINAPI fwpolicy2_get_UnicastResponsesToMulticastBroadcastDisabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL *disabled)
Definition: policy.c:625
static fw_policy2 * impl_from_INetFwPolicy2(INetFwPolicy2 *iface)
Definition: policy.c:53
static const struct INetFwPolicyVtbl fw_policy_vtbl
Definition: policy.c:423
static ULONG WINAPI fwpolicy2_Release(INetFwPolicy2 *iface)
Definition: policy.c:486
const WCHAR * action
Definition: action.c:7479
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
GLboolean GLuint group
Definition: glext.h:11120
GLboolean enable
Definition: glext.h:11120
HRESULT NetFwProfile_create(IUnknown *, LPVOID *) DECLSPEC_HIDDEN
Definition: profile.c:331
@ INetFwPolicy2_tid
@ INetFwPolicy_tid
@ INetFwRules_tid
enum NET_FW_PROFILE_TYPE2_ NET_FW_PROFILE_TYPE2
enum NET_FW_PROFILE_TYPE_ NET_FW_PROFILE_TYPE
enum NET_FW_ACTION_ NET_FW_ACTION
enum NET_FW_MODIFY_STATE_ NET_FW_MODIFY_STATE
REFIID riid
Definition: atlbase.h:39
#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 profile
Definition: kernel32.h:12
#define debugstr_w
Definition: kernel32.h:32
static LPOLESTR
Definition: stg_prop.c:27
static VARIANTARG static DISPID
Definition: ordinal.c:52
unsigned int UINT
Definition: ndis.h:50
const GUID IID_IDispatch
long LONG
Definition: pedump.c:60
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define REFIID
Definition: guiddef.h:118
static FILE * out
Definition: regtests2xml.c:44
DWORD LCID
Definition: nls.h:13
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
INetFwRules * fw_policy2_rules
Definition: policy.c:49
LONG refs
Definition: policy.c:50
INetFwPolicy2 INetFwPolicy2_iface
Definition: policy.c:48
LONG refs
Definition: policy.c:38
INetFwPolicy INetFwPolicy_iface
Definition: policy.c:37
LONG refs
Definition: policy.c:61
INetFwRules INetFwRules_iface
Definition: policy.c:60
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
#define E_POINTER
Definition: winerror.h:2365
static unsigned int block
Definition: xmlmemory.c:101