1/* 2 * Copyright 2007 Jeff Latimer 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 * 20 * The firewall management interface 21 * 22 */ 23 24import "icftypes.idl"; 25import "oaidl.idl"; 26 27[ 28 object, 29 uuid(A6207B2E-7CDD-426A-951E-5E1CBC5AFEAD), 30 dual 31] 32interface INetFwIcmpSettings : IDispatch 33{ 34 [id(1), propget] 35 HRESULT AllowOutboundDestinationUnreachable([out, retval] VARIANT_BOOL* allow); 36 37 [id(1), propput] 38 HRESULT AllowOutboundDestinationUnreachable( [in] VARIANT_BOOL allow ); 39 40 [id(2), propget] 41 HRESULT AllowRedirect( [out, retval] VARIANT_BOOL* allow ); 42 43 [id(2), propput] 44 HRESULT AllowRedirect( [in] VARIANT_BOOL allow ); 45 46 [id(3), propget] 47 HRESULT AllowInboundEchoRequest( [out, retval] VARIANT_BOOL* allow ); 48 49 [id(3), propput] 50 HRESULT AllowInboundEchoRequest( [in] VARIANT_BOOL allow ); 51 52 [id(4), propget] 53 HRESULT AllowOutboundTimeExceeded( [out, retval] VARIANT_BOOL* allow ); 54 55 [id(4), propput] 56 HRESULT AllowOutboundTimeExceeded( [in] VARIANT_BOOL allow ); 57 58 [id(5), propget] 59 HRESULT AllowOutboundParameterProblem( [out, retval] VARIANT_BOOL* allow ); 60 61 [id(5), propput] 62 HRESULT AllowOutboundParameterProblem( [in] VARIANT_BOOL allow ); 63 64 [id(6), propget] 65 HRESULT AllowOutboundSourceQuench( [out, retval] VARIANT_BOOL* allow ); 66 67 [id(6), propput] 68 HRESULT AllowOutboundSourceQuench( [in] VARIANT_BOOL allow ); 69 70 [id(7), propget] 71 HRESULT AllowInboundRouterRequest( [out, retval] VARIANT_BOOL* allow ); 72 73 [id(7), propput] 74 HRESULT AllowInboundRouterRequest( [in] VARIANT_BOOL allow ); 75 76 [id(8), propget] 77 HRESULT AllowInboundTimestampRequest( [out, retval] VARIANT_BOOL* allow ); 78 79 [id(8), propput] 80 HRESULT AllowInboundTimestampRequest( [in] VARIANT_BOOL allow ); 81 82 [id(9), propget] 83 HRESULT AllowInboundMaskRequest( [out, retval] VARIANT_BOOL* allow ); 84 85 [id(9), propput] 86 HRESULT AllowInboundMaskRequest( [in] VARIANT_BOOL allow ); 87 88 [id(10), propget] 89 HRESULT AllowOutboundPacketTooBig( [out, retval] VARIANT_BOOL* allow ); 90 91 [id(10), propput] 92 HRESULT AllowOutboundPacketTooBig( [in] VARIANT_BOOL allow ); 93} 94 95[ 96 object, 97 uuid(E0483BA0-47FF-4D9C-A6D6-7741D0B195F7), 98 dual 99] 100interface INetFwOpenPort : IDispatch 101{ 102 [id(1), propget] 103 HRESULT Name( [out, retval] BSTR* name ); 104 105 [id(1), propput] 106 HRESULT Name( [in] BSTR name ); 107 108 [id(2), propget] 109 HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion ); 110 111 [id(2), propput] 112 HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion ); 113 114 [id(3), propget] 115 HRESULT Protocol( [out, retval] NET_FW_IP_PROTOCOL* ipProtocol ); 116 117 [id(3), propput] 118 HRESULT Protocol( [in] NET_FW_IP_PROTOCOL ipProtocol ); 119 120 [id(4), propget] 121 HRESULT Port( [out, retval] LONG* portNumber ); 122 123 [id(4), propput] 124 HRESULT Port( [in] LONG portNumber ); 125 126 [id(5), propget] 127 HRESULT Scope( [out, retval] NET_FW_SCOPE* scope ); 128 129 [id(5), propput] 130 HRESULT Scope( [in] NET_FW_SCOPE scope ); 131 132 [id(6), propget] 133 HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs ); 134 135 [id(6), propput] 136 HRESULT RemoteAddresses( [in] BSTR remoteAddrs ); 137 138 [id(7), propget] 139 HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled ); 140 141 [id(7), propput] 142 HRESULT Enabled( [in] VARIANT_BOOL enabled ); 143 144 [id(8), propget] 145 HRESULT BuiltIn( [out, retval] VARIANT_BOOL* builtIn ); 146} 147 148[ 149 object, 150 uuid(C0E9D7FA-E07E-430A-B19A-090CE82D92E2), 151 dual 152] 153interface INetFwOpenPorts : IDispatch 154{ 155 [id(1), propget] 156 HRESULT Count( [out, retval] long* count ); 157 158 [id(2)] 159 HRESULT Add( [in] INetFwOpenPort* port ); 160 161 [id(3)] 162 HRESULT Remove( [in] LONG portNumber, [in] NET_FW_IP_PROTOCOL ipProtocol ); 163 164 [id(4)] 165 HRESULT Item( [in] LONG portNumber, [in] NET_FW_IP_PROTOCOL ipProtocol, 166 [out, retval] INetFwOpenPort** openPort ); 167 168 [id(DISPID_NEWENUM), propget, restricted] 169 HRESULT _NewEnum( [out, retval] IUnknown** newEnum ); 170} 171 172[ 173 object, 174 uuid(79FD57C8-908E-4A36-9888-D5B3F0A444CF), 175 dual 176] 177interface INetFwService : IDispatch 178{ 179 [id(1), propget] 180 HRESULT Name( [out, retval] BSTR* name ); 181 182 [id(2), propget] 183 HRESULT Type( [out, retval] NET_FW_SERVICE_TYPE* type ); 184 185 [id(3), propget] 186 HRESULT Customized( [out, retval] VARIANT_BOOL* customized ); 187 188 [id(4), propget] 189 HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion ); 190 191 [id(4), propput] 192 HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion ); 193 194 [id(5), propget] 195 HRESULT Scope( [out, retval] NET_FW_SCOPE* scope ); 196 197 [id(5), propput] 198 HRESULT Scope( [in] NET_FW_SCOPE scope ); 199 200 [id(6), propget] 201 HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs ); 202 203 [id(6), propput] 204 HRESULT RemoteAddresses( [in] BSTR remoteAddrs ); 205 206 [id(7), propget] 207 HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled ); 208 209 [id(7), propput] 210 HRESULT Enabled( [in] VARIANT_BOOL enabled ); 211 212 [id(8), propget] 213 HRESULT GloballyOpenPorts( [out, retval] INetFwOpenPorts** openPorts ); 214} 215 216[ 217 object, 218 uuid(79649BB4-903E-421B-94C9-79848E79F6EE), 219 dual 220] 221interface INetFwServices : IDispatch 222{ 223 [id(1), propget] 224 HRESULT Count( [out, retval] long* count ); 225 226 [id(2)] 227 HRESULT Item( [in] NET_FW_SERVICE_TYPE svcType, 228 [out, retval] INetFwService** service ); 229 230 [id(DISPID_NEWENUM), propget, restricted] 231 HRESULT _NewEnum( [out, retval] IUnknown** newEnum ); 232} 233 234[ 235 object, 236 uuid(B5E64FFA-C2C5-444E-A301-FB5E00018050), 237 dual 238] 239interface INetFwAuthorizedApplication : IDispatch 240{ 241 [id(1), propget] 242 HRESULT Name( [out, retval] BSTR* name ); 243 244 [id(1), propput] 245 HRESULT Name( [in] BSTR name ); 246 247 [id(2), propget] 248 HRESULT ProcessImageFileName( [out, retval] BSTR* imageFileName ); 249 250 [id(2), propput] 251 HRESULT ProcessImageFileName( [in] BSTR imageFileName ); 252 253 [id(3), propget] 254 HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion ); 255 256 [id(3), propput] 257 HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion ); 258 259 [id(4), propget] 260 HRESULT Scope( [out, retval] NET_FW_SCOPE* scope ); 261 262 [id(4), propput] 263 HRESULT Scope( [in] NET_FW_SCOPE scope ); 264 265 [id(5), propget] 266 HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs ); 267 268 [id(5), propput] 269 HRESULT RemoteAddresses( [in] BSTR remoteAddrs ); 270 271 [id(6), propget] 272 HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled ); 273 274 [id(6), propput] 275 HRESULT Enabled( [in] VARIANT_BOOL enabled ); 276} 277 278[ 279 object, 280 uuid(D4BECDDF-6F73-4A83-B832-9C66874CD20E), 281 dual 282] 283interface INetFwRemoteAdminSettings : IDispatch 284{ 285 [id(1), propget] 286 HRESULT IpVersion( [out, retval] NET_FW_IP_VERSION* ipVersion ); 287 288 [id(1), propput] 289 HRESULT IpVersion( [in] NET_FW_IP_VERSION ipVersion ); 290 291 [id(2), propget] 292 HRESULT Scope( [out, retval] NET_FW_SCOPE* scope ); 293 294 [id(2), propput] 295 HRESULT Scope( [in] NET_FW_SCOPE scope ); 296 297 [id(3), propget] 298 HRESULT RemoteAddresses( [out, retval] BSTR* remoteAddrs ); 299 300 [id(3), propput] 301 HRESULT RemoteAddresses( [in] BSTR remoteAddrs ); 302 303 [id(4), propget] 304 HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled ); 305 306 [id(4), propput] 307 HRESULT Enabled( [in] VARIANT_BOOL enabled ); 308} 309 310 311[ 312 object, 313 uuid(644EFD52-CCF9-486C-97A2-39F352570B30), 314 dual 315] 316interface INetFwAuthorizedApplications : IDispatch 317{ 318 [id(1), propget] 319 HRESULT Count( [out, retval] long* count ); 320 321 [id(2)] 322 HRESULT Add( [in] INetFwAuthorizedApplication* app ); 323 324 [id(3)] 325 HRESULT Remove( [in] BSTR imageFileName ); 326 327 [id(4)] 328 HRESULT Item( [in] BSTR imageFileName, 329 [out, retval] INetFwAuthorizedApplication** app ); 330 331 [id(DISPID_NEWENUM), propget, restricted] 332 HRESULT _NewEnum( [out, retval] IUnknown** newEnum ); 333} 334 335[ 336 local, 337 object, 338 uuid(af230d27-baba-4e42-aced-f524f22cfce2), 339 dual 340] 341interface INetFwRule : IDispatch 342{ 343 [id(1), propget] 344 HRESULT Name( [out, retval] BSTR *name ); 345 [id(1), propput] 346 HRESULT Name( [in] BSTR name ); 347 348 [id(2), propget] 349 HRESULT Description( [out, retval] BSTR* desc ); 350 [id(2), propput] 351 HRESULT Description( [in] BSTR desc ); 352 353 [id(3), propget] 354 HRESULT ApplicationName( [out, retval] BSTR *imagename ); 355 [id(3), propput] 356 HRESULT ApplicationName( [in] BSTR imagename ); 357 358 [id(4), propget] 359 HRESULT ServiceName( [out, retval] BSTR *service ); 360 [id(4), propput] 361 HRESULT ServiceName( [in] BSTR service ); 362 363 [id(5), propget] 364 HRESULT Protocol( [out, retval] long* protocol ); 365 [id(5), propput] 366 HRESULT Protocol( [in] long protocol ); 367 368 [id(6), propget] 369 HRESULT LocalPorts( [out, retval] BSTR* ports ); 370 [id(6), propput] 371 HRESULT LocalPorts( [in] BSTR ports ); 372 373 [id(7), propget] 374 HRESULT RemotePorts( [out, retval] BSTR *ports ); 375 [id(7), propput] 376 HRESULT RemotePorts( [in] BSTR ports ); 377 378 [id(8), propget] 379 HRESULT LocalAddresses([out, retval] BSTR* address ); 380 [id(8), propput] 381 HRESULT LocalAddresses([in] BSTR address); 382 383 [id(9), propget] 384 HRESULT RemoteAddresses( [out, retval] BSTR* address ); 385 [id(9), propput] 386 HRESULT RemoteAddresses( [in] BSTR address ); 387 388 [id(10), propget] 389 HRESULT IcmpTypesAndCodes( [out, retval] BSTR *codes ); 390 [id(10), propput] 391 HRESULT IcmpTypesAndCodes( [in] BSTR codes ); 392 393 [id(11), propget] 394 HRESULT Direction( [out, retval] NET_FW_RULE_DIRECTION* dir ); 395 [id(11), propput] 396 HRESULT Direction( [in] NET_FW_RULE_DIRECTION dir ); 397 398 [id(12), propget] 399 HRESULT Interfaces( [out, retval] VARIANT* interfaces ); 400 [id(12), propput] 401 HRESULT Interfaces( [in] VARIANT interfaces ); 402 403 [id(13), propget] 404 HRESULT InterfaceTypes( [out, retval] BSTR* types ); 405 [id(13), propput] 406 HRESULT InterfaceTypes( [in] BSTR types ); 407 408 [id(14), propget] 409 HRESULT Enabled( [out, retval] VARIANT_BOOL* enabled ); 410 [id(14), propput] 411 HRESULT Enabled( [in] VARIANT_BOOL enabled ); 412 413 [id(15), propget] 414 HRESULT Grouping( [out, retval] BSTR* context ); 415 [id(15), propput] 416 HRESULT Grouping( [in] BSTR context ); 417 418 [id(16), propget] 419 HRESULT Profiles( [out, retval] long* profiles ); 420 [id(16), propput] 421 HRESULT Profiles( [in] long profiles ); 422 423 [id(17), propget] 424 HRESULT EdgeTraversal( [out, retval] VARIANT_BOOL* enabled ); 425 [id(17), propput] 426 HRESULT EdgeTraversal( [in] VARIANT_BOOL enabled ); 427 428 [id(18), propget] 429 HRESULT Action( [out, retval] NET_FW_ACTION* action ); 430 [id(18), propput] 431 HRESULT Action( [in] NET_FW_ACTION action ); 432} 433 434[ 435 local, 436 object, 437 uuid(9C27C8DA-189B-4DDE-89F7-8B39A316782C), 438 dual 439] 440interface INetFwRule2 : INetFwRule 441{ 442 [id(19), propget] 443 HRESULT EdgeTraversalOptions( [out, retval] long* lOptions ); 444 [id(19), propput] 445 HRESULT EdgeTraversalOptions( [in] long lOptions ); 446} 447 448[ 449 local, 450 object, 451 uuid(B21563FF-D696-4222-AB46-4E89B73AB34A), 452 dual 453] 454interface INetFwRule3 : INetFwRule2 455{ 456 [id(20), propget] 457 HRESULT LocalAppPackageId( [out, retval] BSTR* wszPackageId ); 458 [id(20), propput] 459 HRESULT LocalAppPackageId( [in] BSTR wszPackageId ); 460 461 [id(21), propget] 462 HRESULT LocalUserOwner( [out, retval] BSTR* wszUserOwner ); 463 [id(21), propput] 464 HRESULT LocalUserOwner( [in] BSTR wszUserOwner ); 465 466 [id(22), propget] 467 HRESULT LocalUserAuthorizedList( [out, retval] BSTR* wszUserAuthList ); 468 [id(22), propput] 469 HRESULT LocalUserAuthorizedList( [in] BSTR wszUserAuthList ); 470 471 [id(23), propget] 472 HRESULT RemoteUserAuthorizedList( [out, retval] BSTR* wszUserAuthList ); 473 [id(23), propput] 474 HRESULT RemoteUserAuthorizedList( [in] BSTR wszUserAuthList ); 475 476 [id(24), propget] 477 HRESULT RemoteMachineAuthorizedList( [out, retval] BSTR* wszUserAuthList ); 478 [id(24), propput] 479 HRESULT RemoteMachineAuthorizedList( [in] BSTR wszUserAuthList ); 480 481 [id(25), propget] 482 HRESULT SecureFlags( [out, retval] long* lOptions ); 483 [id(25), propput] 484 HRESULT SecureFlags( [in] long lOptions ); 485} 486 487[ 488 local, 489 object, 490 uuid(9c4c6277-5027-441e-afae-ca1f542da009), 491 dual 492] 493interface INetFwRules : IDispatch 494{ 495 [id(1), propget] 496 HRESULT Count( [out, retval] long* count ); 497 498 [id(2)] 499 HRESULT Add( [in] INetFwRule* rule ); 500 501 [id(3)] 502 HRESULT Remove( [in] BSTR name ); 503 504 [id(4)] 505 HRESULT Item( [in] BSTR name, [out, retval] INetFwRule** rule ); 506 507 [id(DISPID_NEWENUM), propget, restricted] 508 HRESULT _NewEnum( [out, retval] IUnknown** newEnum ); 509} 510 511[ 512 local, 513 object, 514 uuid(8267bbe3-f890-491c-b7b6-2db1ef0e5d2b), 515 dual 516] 517interface INetFwServiceRestriction : IDispatch 518{ 519 [id(1)] 520 HRESULT RestrictService( [in] BSTR serviceName, [in] BSTR appName, 521 [in] VARIANT_BOOL restrictService, [in] VARIANT_BOOL serviceSidRestricted ); 522 523 [id(2)] 524 HRESULT ServiceRestricted( [in] BSTR serviceName, [in] BSTR appName, 525 [out, retval] VARIANT_BOOL* serviceRestricted ); 526 527 [id(3), propget] 528 HRESULT Rules( [out, retval] INetFwRules** rules ); 529} 530 531[ 532 object, 533 uuid(174A0DDA-E9F9-449D-993B-21AB667CA456), 534 dual 535] 536interface INetFwProfile : IDispatch 537{ 538 [id(1), propget] 539 HRESULT Type( [out, retval] NET_FW_PROFILE_TYPE* type ); 540 541 [id(2), propget] 542 HRESULT FirewallEnabled( [out, retval] VARIANT_BOOL* enabled ); 543 544 [id(2), propput] 545 HRESULT FirewallEnabled( [in] VARIANT_BOOL enabled ); 546 547 [id(3), propget] 548 HRESULT ExceptionsNotAllowed( [out, retval] VARIANT_BOOL* notAllowed ); 549 550 [id(3), propput] 551 HRESULT ExceptionsNotAllowed( [in] VARIANT_BOOL notAllowed ); 552 553 [id(4), propget] 554 HRESULT NotificationsDisabled( [out, retval] VARIANT_BOOL* disabled ); 555 556 [id(4), propput] 557 HRESULT NotificationsDisabled( [in] VARIANT_BOOL disabled ); 558 559 [id(5), propget] 560 HRESULT UnicastResponsesToMulticastBroadcastDisabled( [out, retval] VARIANT_BOOL* disabled ); 561 562 [id(5), propput] 563 HRESULT UnicastResponsesToMulticastBroadcastDisabled( [in] VARIANT_BOOL disabled ); 564 565 [id(6), propget] 566 HRESULT RemoteAdminSettings( [out, retval] INetFwRemoteAdminSettings** remoteAdminSettings ); 567 568 [id(7), propget] 569 HRESULT IcmpSettings( [out, retval] INetFwIcmpSettings** icmpSettings ); 570 571 [id(8), propget] 572 HRESULT GloballyOpenPorts( [out, retval] INetFwOpenPorts** openPorts ); 573 574 [id(9), propget] 575 HRESULT Services( [out, retval] INetFwServices** services ); 576 577 [id(10), propget] 578 HRESULT AuthorizedApplications( [out, retval] INetFwAuthorizedApplications** apps ); 579} 580 581[ 582 object, 583 uuid(D46D2478-9AC9-4008-9DC7-5563CE5536CC), 584 dual 585] 586interface INetFwPolicy : IDispatch 587{ 588 [id(1), propget] 589 HRESULT CurrentProfile( [out, retval] INetFwProfile** profile ); 590 591 [id(2)] 592 HRESULT GetProfileByType( [in] NET_FW_PROFILE_TYPE profileType, 593 [out, retval] INetFwProfile** profile ); 594} 595 596[ 597 local, 598 object, 599 uuid(98325047-c671-4174-8d81-defcd3f03186), 600 dual 601] 602interface INetFwPolicy2 : IDispatch 603{ 604 [id(1), propget] 605 HRESULT CurrentProfileTypes( [out, retval] long *profile ); 606 607 [id(2), propget] 608 HRESULT FirewallEnabled( [in] NET_FW_PROFILE_TYPE2 profileType, [out, retval] VARIANT_BOOL* enabled ); 609 610 [id(2), propput] 611 HRESULT FirewallEnabled( [in] NET_FW_PROFILE_TYPE2 profileType, [in] VARIANT_BOOL enabled ); 612 613 [id(3), propget] 614 HRESULT ExcludedInterfaces( [in] NET_FW_PROFILE_TYPE2 profileType, [out, retval] VARIANT *interfaces ); 615 616 [id(3), propput] 617 HRESULT ExcludedInterfaces( [in] NET_FW_PROFILE_TYPE2 profileType, [in] VARIANT interfaces ); 618 619 [id(4), propget] 620 HRESULT BlockAllInboundTraffic( [in] NET_FW_PROFILE_TYPE2 profileType, [out, retval] VARIANT_BOOL* block ); 621 622 [id(4), propput] 623 HRESULT BlockAllInboundTraffic( [in] NET_FW_PROFILE_TYPE2 profileType, [in] VARIANT_BOOL block ); 624 625 [id(5), propget] 626 HRESULT NotificationsDisabled( [in] NET_FW_PROFILE_TYPE2 profileType, [out, retval] VARIANT_BOOL* disabled ); 627 [id(5), propput] 628 HRESULT NotificationsDisabled( [in] NET_FW_PROFILE_TYPE2 profileType, [in] VARIANT_BOOL disabled ); 629 630 [id(6), propget] 631 HRESULT UnicastResponsesToMulticastBroadcastDisabled( [in] NET_FW_PROFILE_TYPE2 profileType, 632 [out, retval] VARIANT_BOOL* disabled ); 633 [id(6), propput] 634 HRESULT UnicastResponsesToMulticastBroadcastDisabled( [in] NET_FW_PROFILE_TYPE2 profileType, 635 [in] VARIANT_BOOL disabled ); 636 637 [id(7), propget] 638 HRESULT Rules( [out, retval] INetFwRules** rules ); 639 640 [id(8), propget] 641 HRESULT ServiceRestriction( [out, retval] INetFwServiceRestriction **ServiceRestriction ); 642 643 [id(9)] 644 HRESULT EnableRuleGroup( [in] long profileTypesBitmask, [in] BSTR group, [in] VARIANT_BOOL enable ); 645 646 [id(10)] 647 HRESULT IsRuleGroupEnabled( [in] long profileTypesBitmask, [in] BSTR group, [out, retval] VARIANT_BOOL *enabled ); 648 649 [id(11)] 650 HRESULT RestoreLocalFirewallDefaults(); 651 652 [id(12), propget] 653 HRESULT DefaultInboundAction( [in] NET_FW_PROFILE_TYPE2 profileType, [out, retval] NET_FW_ACTION* action ); 654 655 [id(12), propput] 656 HRESULT DefaultInboundAction( [in] NET_FW_PROFILE_TYPE2 profileType, [in] NET_FW_ACTION action ); 657 658 [id(13), propget] 659 HRESULT DefaultOutboundAction( [in] NET_FW_PROFILE_TYPE2 profileType, [out, retval] NET_FW_ACTION* action ); 660 661 [id(13), propput] 662 HRESULT DefaultOutboundAction( [in] NET_FW_PROFILE_TYPE2 profileType, [in] NET_FW_ACTION action ); 663 664 [id(14), propget] 665 HRESULT IsRuleGroupCurrentlyEnabled( [in] BSTR group, [out, retval] VARIANT_BOOL* enabled ); 666 667 [id(15), propget] 668 HRESULT LocalPolicyModifyState( [out, retval] NET_FW_MODIFY_STATE* modifyState ); 669} 670 671[ 672 object, 673 uuid(F7898AF5-CAC4-4632-A2EC-DA06E5111AF2), 674 dual 675] 676interface INetFwMgr : IDispatch 677{ 678 [id(1), propget] 679 HRESULT LocalPolicy( [out, retval] INetFwPolicy** localPolicy ); 680 681 [id(2), propget] 682 HRESULT CurrentProfileType( [out, retval] NET_FW_PROFILE_TYPE* profileType ); 683 684 [id(3)] 685 HRESULT RestoreDefaults(); 686 687 [id(4)] 688 HRESULT IsPortAllowed( [in] BSTR imageFileName, [in] NET_FW_IP_VERSION ipVersion, 689 [in] LONG portNumber, [in] BSTR localAddress, 690 [in] NET_FW_IP_PROTOCOL ipProtocol, [out] VARIANT* allowed, 691 [out] VARIANT* restricted ); 692 693 [id(5)] 694 HRESULT IsIcmpTypeAllowed( [in] NET_FW_IP_VERSION ipVersion, [in] BSTR localAddress, 695 [in] BYTE type, [out] VARIANT* allowed, 696 [out] VARIANT* restricted ); 697} 698 699[ 700 local, 701 object, 702 uuid(71881699-18f4-458b-b892-3ffce5e07f75), 703 dual 704] 705interface INetFwProduct : IDispatch 706{ 707 [id(1), propget] 708 HRESULT RuleCategories([out, retval] VARIANT *ruleCategories); 709 710 [id(1), propput] 711 HRESULT RuleCategories([in] VARIANT ruleCategories); 712 713 [id(2), propget] 714 HRESULT DisplayName([out, retval] BSTR *displayName); 715 716 [id(2), propput] 717 HRESULT DisplayName([in] BSTR displayName); 718 719 [id(3), propget] 720 HRESULT PathToSignedProductExe([out, retval] BSTR *path); 721} 722 723[ 724 local, 725 object, 726 uuid(39eb36e0-2097-40bd-8af2-63a13b525362), 727 dual 728] 729interface INetFwProducts : IDispatch 730{ 731 [id(1), propget] 732 HRESULT Count([out, retval] LONG *count); 733 734 [id(2)] 735 HRESULT Register([in] INetFwProduct *product, [out, retval] IUnknown **registration); 736 737 [id(3)] 738 HRESULT Item([in] LONG index, [out, retval] INetFwProduct **product); 739 740 [id(DISPID_NEWENUM), propget, restricted] 741 HRESULT _NewEnum([out, retval] IUnknown **newEnum); 742} 743 744[ 745 uuid(DB4F3345-3EF8-45ED-B976-25A6D3B81B71), 746 version(1.0) 747] 748library NetFwPublicTypeLib 749{ 750 importlib("stdole2.tlb"); 751 interface INetFwRemoteAdminSettings; 752 interface INetFwIcmpSettings; 753 interface INetFwOpenPort; 754 interface INetFwOpenPorts; 755 interface INetFwService; 756 interface INetFwServices; 757 interface INetFwAuthorizedApplication; 758 interface INetFwAuthorizedApplications; 759 interface INetFwServiceRestriction; 760 interface INetFwRule; 761 interface INetFwRules; 762 interface INetFwProfile; 763 interface INetFwPolicy; 764 interface INetFwPolicy2; 765 interface INetFwMgr; 766 interface INetFwProduct; 767 interface INetFwProducts; 768 769 [ 770 uuid(0CA545C6-37AD-4A6C-BF92-9F7610067EF5) 771 ] 772 coclass NetFwOpenPort 773 { 774 [default] interface INetFwOpenPort; 775 } 776 777 [ 778 uuid(EC9846B3-2762-4A6B-A214-6ACB603462D2) 779 ] 780 coclass NetFwAuthorizedApplication 781 { 782 [default] interface INetFwAuthorizedApplication; 783 } 784 785 [ 786 uuid(304CE942-6E39-40D8-943A-B913C40C9CD4) 787 ] 788 coclass NetFwMgr 789 { 790 [default] interface INetFwMgr; 791 } 792 793 [ 794 uuid(e2b3c97f-6ae1-41ac-817a-f6f92166d7dd) 795 ] 796 coclass NetFwPolicy2 797 { 798 [default] interface INetFwPolicy2; 799 } 800 801 [ 802 uuid(2c5bc43e-3369-4c33-ab0c-be9469677af4) 803 ] 804 coclass NetFwRule 805 { 806 [default] interface INetFwRule; 807 } 808 809 [ 810 uuid(9d745ed8-c514-4d1d-bf42-751fed2d5ac7) 811 ] 812 coclass NetFwProduct 813 { 814 [default] interface INetFwProduct; 815 } 816 817 [ 818 uuid(cc19079b-8272-4d73-bb70-cdb533527b61) 819 ] 820 coclass NetFwProducts 821 { 822 [default] interface INetFwProducts; 823 } 824} 825