ReactOS  0.4.15-dev-1018-g0695ecb
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 
35 typedef struct fw_policy
36 {
39 } fw_policy;
40 
42 {
43  return CONTAINING_RECORD(iface, fw_policy, INetFwPolicy_iface);
44 }
45 
46 typedef struct fw_policy2
47 {
51 } fw_policy2;
52 
54 {
55  return CONTAINING_RECORD(iface, fw_policy2, INetFwPolicy2_iface);
56 }
57 
58 typedef struct fw_rules
59 {
62 } fw_rules;
63 
64 static inline fw_rules *impl_from_INetFwRules( INetFwRules *iface )
65 {
66  return CONTAINING_RECORD(iface, fw_rules, INetFwRules_iface);
67 }
68 
70  INetFwRules *iface,
71  REFIID riid,
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 {
103  fw_rules *This = impl_from_INetFwRules( iface );
104  LONG refs = InterlockedDecrement( &This->refs );
105  if (!refs)
106  {
107  TRACE("destroying %p\n", This);
108  HeapFree( GetProcessHeap(), 0, This );
109  }
110  return refs;
111 }
112 
114  INetFwRules *iface,
115  UINT *pctinfo )
116 {
117  fw_rules *This = impl_from_INetFwRules( iface );
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 {
130  fw_rules *This = impl_from_INetFwRules( iface );
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 {
144  fw_rules *This = impl_from_INetFwRules( iface );
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 {
170  fw_rules *This = impl_from_INetFwRules( iface );
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 {
191  fw_rules *This = impl_from_INetFwRules( iface );
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 {
205  fw_rules *This = impl_from_INetFwRules( iface );
206 
207  FIXME("%p, %p\n", This, rule);
208  return E_NOTIMPL;
209 }
210 
212  INetFwRules *iface,
213  BSTR name)
214 {
215  fw_rules *This = impl_from_INetFwRules( iface );
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 {
226  fw_rules *This = impl_from_INetFwRules( iface );
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 {
240  fw_rules *This = impl_from_INetFwRules( iface );
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 
250 static 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 {
288  return InterlockedIncrement( &fw_policy->refs );
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 
423 static 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 
445  fp->INetFwPolicy_iface.lpVtbl = &fw_policy_vtbl;
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 {
483  return InterlockedIncrement( &fw_policy->refs );
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 
534 static HRESULT WINAPI fwpolicy2_Invoke(INetFwPolicy2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid,
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 
736 static 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 
778  fp->INetFwPolicy2_iface.lpVtbl = &fw_policy2_vtbl;
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 }
static unsigned int block
Definition: xmlmemory.c:118
static fw_policy2 * impl_from_INetFwPolicy2(INetFwPolicy2 *iface)
Definition: policy.c:53
static HRESULT WINAPI fwpolicy2_get_DefaultOutboundAction(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, NET_FW_ACTION *action)
Definition: policy.c:704
static HRESULT WINAPI netfw_rules_QueryInterface(INetFwRules *iface, REFIID riid, void **object)
Definition: policy.c:69
INetFwRules * fw_policy2_rules
Definition: policy.c:49
#define REFIID
Definition: guiddef.h:118
static HRESULT WINAPI fwpolicy2_IsRuleGroupEnabled(INetFwPolicy2 *iface, LONG bitmask, BSTR group, VARIANT_BOOL *enabled)
Definition: policy.c:672
#define E_NOINTERFACE
Definition: winerror.h:2364
struct fw_policy fw_policy
static HRESULT WINAPI fwpolicy2_get_ServiceRestriction(INetFwPolicy2 *iface, INetFwServiceRestriction **ServiceRestriction)
Definition: policy.c:656
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static HRESULT WINAPI fw_policy_get_CurrentProfile(INetFwPolicy *iface, INetFwProfile **profile)
Definition: policy.c:402
GLuint GLuint GLsizei count
Definition: gl.h:1545
static HRESULT WINAPI fwpolicy2_QueryInterface(INetFwPolicy2 *iface, REFIID riid, void **out)
Definition: policy.c:454
HRESULT NetFwProfile_create(IUnknown *, LPVOID *) DECLSPEC_HIDDEN
Definition: profile.c:331
static fw_policy * impl_from_INetFwPolicy(INetFwPolicy *iface)
Definition: policy.c:41
static HRESULT WINAPI fwpolicy2_get_UnicastResponsesToMulticastBroadcastDisabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL *disabled)
Definition: policy.c:625
static HRESULT WINAPI fwpolicy2_get_CurrentProfileTypes(INetFwPolicy2 *iface, LONG *profile)
Definition: policy.c:554
static HRESULT WINAPI netfw_rules_Remove(INetFwRules *iface, BSTR name)
Definition: policy.c:211
enum NET_FW_PROFILE_TYPE2_ NET_FW_PROFILE_TYPE2
DWORD LCID
Definition: nls.h:13
OLECHAR * BSTR
Definition: compat.h:2041
static HRESULT WINAPI fw_policy_GetTypeInfo(INetFwPolicy *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: policy.c:339
static const struct INetFwRulesVtbl fw_rules_vtbl
Definition: policy.c:250
static HRESULT WINAPI fwpolicy2_get_BlockAllInboundTraffic(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL *block)
Definition: policy.c:593
static LPOLESTR
Definition: stg_prop.c:27
static HRESULT WINAPI fwpolicy2_put_ExcludedInterfaces(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT interfaces)
Definition: policy.c:586
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
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750
short VARIANT_BOOL
Definition: compat.h:2038
LONG refs
Definition: policy.c:50
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_put_FirewallEnabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL enabled)
Definition: policy.c:570
INetFwRules INetFwRules_iface
Definition: policy.c:60
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static HRESULT WINAPI fwpolicy2_get_NotificationsDisabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL *disabled)
Definition: policy.c:609
long LONG
Definition: pedump.c:60
struct fw_rules fw_rules
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
static HRESULT WINAPI fwpolicy2_get_ExcludedInterfaces(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT *interfaces)
Definition: policy.c:578
static HRESULT WINAPI fwpolicy2_put_DefaultInboundAction(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, NET_FW_ACTION action)
Definition: policy.c:696
static ULONG WINAPI netfw_rules_AddRef(INetFwRules *iface)
Definition: policy.c:93
smooth NULL
Definition: ftsmooth.c:416
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: apps.c:124
static HRESULT WINAPI netfw_rules_get__NewEnum(INetFwRules *iface, IUnknown **newEnum)
Definition: policy.c:236
static HRESULT WINAPI fw_policy_GetIDsOfNames(INetFwPolicy *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: policy.c:351
#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
static HRESULT WINAPI fw_policy_QueryInterface(INetFwPolicy *iface, REFIID riid, void **ppvObject)
Definition: policy.c:304
GLboolean GLuint group
Definition: glext.h:11120
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
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:484
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static HRESULT WINAPI fwpolicy2_get_FirewallEnabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL *enabled)
Definition: policy.c:562
HRESULT NetFwPolicy2_create(IUnknown *outer, void **obj)
Definition: policy.c:769
enum NET_FW_ACTION_ NET_FW_ACTION
LONG HRESULT
Definition: typedefs.h:79
const GUID IID_IUnknown
static HRESULT WINAPI netfw_rules_Item(INetFwRules *iface, BSTR name, INetFwRule **rule)
Definition: policy.c:221
#define WINAPI
Definition: msvc.h:6
static HRESULT WINAPI fw_policy_GetProfileByType(INetFwPolicy *iface, NET_FW_PROFILE_TYPE profileType, INetFwProfile **profile)
Definition: policy.c:412
unsigned short WORD
Definition: ntddk_ex.h:93
static FILE * out
Definition: regtests2xml.c:44
static HRESULT WINAPI fwpolicy2_EnableRuleGroup(INetFwPolicy2 *iface, LONG bitmask, BSTR group, VARIANT_BOOL enable)
Definition: policy.c:664
static HRESULT WINAPI fwpolicy2_GetTypeInfoCount(INetFwPolicy2 *iface, UINT *pctinfo)
Definition: policy.c:499
static HRESULT WINAPI fw_policy_GetTypeInfoCount(INetFwPolicy *iface, UINT *pctinfo)
Definition: policy.c:328
static HRESULT WINAPI fwpolicy2_put_NotificationsDisabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL disabled)
Definition: policy.c:617
const GUID IID_IDispatch
WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg)
enum NET_FW_PROFILE_TYPE_ NET_FW_PROFILE_TYPE
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
#define InterlockedDecrement
Definition: armddk.h:52
static ULONG WINAPI fw_policy_AddRef(INetFwPolicy *iface)
Definition: policy.c:284
REFIID LPVOID * ppvObject
Definition: precomp.h:44
static HRESULT WINAPI netfw_rules_Add(INetFwRules *iface, INetFwRule *rule)
Definition: policy.c:201
static HRESULT WINAPI fwpolicy2_RestoreLocalFirewallDefaults(INetFwPolicy2 *iface)
Definition: policy.c:680
static HRESULT WINAPI fwpolicy2_put_UnicastResponsesToMulticastBroadcastDisabled(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, VARIANT_BOOL disabled)
Definition: policy.c:633
static HRESULT WINAPI fwpolicy2_get_Rules(INetFwPolicy2 *iface, INetFwRules **rules)
Definition: policy.c:641
static HRESULT WINAPI fwpolicy2_get_DefaultInboundAction(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, NET_FW_ACTION *action)
Definition: policy.c:688
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:534
LONG refs
Definition: policy.c:38
struct stdole::EXCEPINFO EXCEPINFO
static VARIANTARG static DISPID
Definition: ordinal.c:49
#define S_OK
Definition: intsafe.h:59
GLboolean enable
Definition: glext.h:11120
static HRESULT create_INetFwRules(INetFwRules **object)
Definition: policy.c:266
const WCHAR * action
Definition: action.c:7783
#define InterlockedIncrement
Definition: armddk.h:53
HRESULT NetFwPolicy_create(IUnknown *pUnkOuter, LPVOID *ppObj)
Definition: policy.c:436
static HRESULT WINAPI netfw_rules_GetIDsOfNames(INetFwRules *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: policy.c:136
#define E_NOTIMPL
Definition: ddrawi.h:99
static HRESULT WINAPI netfw_rules_GetTypeInfo(INetFwRules *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: policy.c:124
unsigned int UINT
Definition: ndis.h:50
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
static HRESULT WINAPI netfw_rules_get_Count(INetFwRules *iface, LONG *count)
Definition: policy.c:187
struct fw_policy2 fw_policy2
enum NET_FW_MODIFY_STATE_ NET_FW_MODIFY_STATE
static ULONG WINAPI fwpolicy2_AddRef(INetFwPolicy2 *iface)
Definition: policy.c:480
LONG refs
Definition: policy.c:61
static HRESULT WINAPI fwpolicy2_GetIDsOfNames(INetFwPolicy2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: policy.c:516
Definition: name.c:38
INetFwPolicy2 INetFwPolicy2_iface
Definition: policy.c:48
struct stdole::DISPPARAMS DISPPARAMS
unsigned int ULONG
Definition: retypes.h:1
#define profile
Definition: kernel32.h:12
static HRESULT WINAPI fwpolicy2_get_IsRuleGroupCurrentlyEnabled(INetFwPolicy2 *iface, BSTR group, VARIANT_BOOL *enabled)
Definition: policy.c:720
static const struct INetFwPolicyVtbl fw_policy_vtbl
Definition: policy.c:423
static HRESULT WINAPI netfw_rules_GetTypeInfoCount(INetFwRules *iface, UINT *pctinfo)
Definition: policy.c:113
static HRESULT WINAPI fwpolicy2_get_LocalPolicyModifyState(INetFwPolicy2 *iface, NET_FW_MODIFY_STATE *modifyState)
Definition: policy.c:728
#define E_POINTER
Definition: winerror.h:2365
static fw_rules * impl_from_INetFwRules(INetFwRules *iface)
Definition: policy.c:64
static ULONG WINAPI fwpolicy2_Release(INetFwPolicy2 *iface)
Definition: policy.c:486
static const struct INetFwPolicy2Vtbl fw_policy2_vtbl
Definition: policy.c:736
INetFwPolicy INetFwPolicy_iface
Definition: policy.c:37
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 fwpolicy2_put_DefaultOutboundAction(INetFwPolicy2 *iface, NET_FW_PROFILE_TYPE2 profileType, NET_FW_ACTION action)
Definition: policy.c:712
#define HeapFree(x, y, z)
Definition: compat.h:483
static ULONG WINAPI netfw_rules_Release(INetFwRules *iface)
Definition: policy.c:100
static ULONG WINAPI fw_policy_Release(INetFwPolicy *iface)
Definition: policy.c:291
#define SUCCEEDED(hr)
Definition: intsafe.h:57