1 /*** Autogenerated by WIDL 4.12.1 from include/alg.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __alg_h__ 17 #define __alg_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IAdapterInfo_FWD_DEFINED__ 22 #define __IAdapterInfo_FWD_DEFINED__ 23 typedef interface IAdapterInfo IAdapterInfo; 24 #ifdef __cplusplus 25 interface IAdapterInfo; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IPendingProxyConnection_FWD_DEFINED__ 30 #define __IPendingProxyConnection_FWD_DEFINED__ 31 typedef interface IPendingProxyConnection IPendingProxyConnection; 32 #ifdef __cplusplus 33 interface IPendingProxyConnection; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IDataChannel_FWD_DEFINED__ 38 #define __IDataChannel_FWD_DEFINED__ 39 typedef interface IDataChannel IDataChannel; 40 #ifdef __cplusplus 41 interface IDataChannel; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __IPersistentDataChannel_FWD_DEFINED__ 46 #define __IPersistentDataChannel_FWD_DEFINED__ 47 typedef interface IPersistentDataChannel IPersistentDataChannel; 48 #ifdef __cplusplus 49 interface IPersistentDataChannel; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __IPrimaryControlChannel_FWD_DEFINED__ 54 #define __IPrimaryControlChannel_FWD_DEFINED__ 55 typedef interface IPrimaryControlChannel IPrimaryControlChannel; 56 #ifdef __cplusplus 57 interface IPrimaryControlChannel; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __ISecondaryControlChannel_FWD_DEFINED__ 62 #define __ISecondaryControlChannel_FWD_DEFINED__ 63 typedef interface ISecondaryControlChannel ISecondaryControlChannel; 64 #ifdef __cplusplus 65 interface ISecondaryControlChannel; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __IEnumAdapterInfo_FWD_DEFINED__ 70 #define __IEnumAdapterInfo_FWD_DEFINED__ 71 typedef interface IEnumAdapterInfo IEnumAdapterInfo; 72 #ifdef __cplusplus 73 interface IEnumAdapterInfo; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __IAdapterNotificationSink_FWD_DEFINED__ 78 #define __IAdapterNotificationSink_FWD_DEFINED__ 79 typedef interface IAdapterNotificationSink IAdapterNotificationSink; 80 #ifdef __cplusplus 81 interface IAdapterNotificationSink; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IApplicationGatewayServices_FWD_DEFINED__ 86 #define __IApplicationGatewayServices_FWD_DEFINED__ 87 typedef interface IApplicationGatewayServices IApplicationGatewayServices; 88 #ifdef __cplusplus 89 interface IApplicationGatewayServices; 90 #endif /* __cplusplus */ 91 #endif 92 93 #ifndef __IApplicationGateway_FWD_DEFINED__ 94 #define __IApplicationGateway_FWD_DEFINED__ 95 typedef interface IApplicationGateway IApplicationGateway; 96 #ifdef __cplusplus 97 interface IApplicationGateway; 98 #endif /* __cplusplus */ 99 #endif 100 101 #ifndef __ApplicationGatewayServices_FWD_DEFINED__ 102 #define __ApplicationGatewayServices_FWD_DEFINED__ 103 #ifdef __cplusplus 104 typedef class ApplicationGatewayServices ApplicationGatewayServices; 105 #else 106 typedef struct ApplicationGatewayServices ApplicationGatewayServices; 107 #endif /* defined __cplusplus */ 108 #endif /* defined __ApplicationGatewayServices_FWD_DEFINED__ */ 109 110 #ifndef __PrimaryControlChannel_FWD_DEFINED__ 111 #define __PrimaryControlChannel_FWD_DEFINED__ 112 #ifdef __cplusplus 113 typedef class PrimaryControlChannel PrimaryControlChannel; 114 #else 115 typedef struct PrimaryControlChannel PrimaryControlChannel; 116 #endif /* defined __cplusplus */ 117 #endif /* defined __PrimaryControlChannel_FWD_DEFINED__ */ 118 119 #ifndef __SecondaryControlChannel_FWD_DEFINED__ 120 #define __SecondaryControlChannel_FWD_DEFINED__ 121 #ifdef __cplusplus 122 typedef class SecondaryControlChannel SecondaryControlChannel; 123 #else 124 typedef struct SecondaryControlChannel SecondaryControlChannel; 125 #endif /* defined __cplusplus */ 126 #endif /* defined __SecondaryControlChannel_FWD_DEFINED__ */ 127 128 #ifndef __AdapterInfo_FWD_DEFINED__ 129 #define __AdapterInfo_FWD_DEFINED__ 130 #ifdef __cplusplus 131 typedef class AdapterInfo AdapterInfo; 132 #else 133 typedef struct AdapterInfo AdapterInfo; 134 #endif /* defined __cplusplus */ 135 #endif /* defined __AdapterInfo_FWD_DEFINED__ */ 136 137 #ifndef __EnumAdapterInfo_FWD_DEFINED__ 138 #define __EnumAdapterInfo_FWD_DEFINED__ 139 #ifdef __cplusplus 140 typedef class EnumAdapterInfo EnumAdapterInfo; 141 #else 142 typedef struct EnumAdapterInfo EnumAdapterInfo; 143 #endif /* defined __cplusplus */ 144 #endif /* defined __EnumAdapterInfo_FWD_DEFINED__ */ 145 146 #ifndef __PendingProxyConnection_FWD_DEFINED__ 147 #define __PendingProxyConnection_FWD_DEFINED__ 148 #ifdef __cplusplus 149 typedef class PendingProxyConnection PendingProxyConnection; 150 #else 151 typedef struct PendingProxyConnection PendingProxyConnection; 152 #endif /* defined __cplusplus */ 153 #endif /* defined __PendingProxyConnection_FWD_DEFINED__ */ 154 155 #ifndef __DataChannel_FWD_DEFINED__ 156 #define __DataChannel_FWD_DEFINED__ 157 #ifdef __cplusplus 158 typedef class DataChannel DataChannel; 159 #else 160 typedef struct DataChannel DataChannel; 161 #endif /* defined __cplusplus */ 162 #endif /* defined __DataChannel_FWD_DEFINED__ */ 163 164 #ifndef __PersistentDataChannel_FWD_DEFINED__ 165 #define __PersistentDataChannel_FWD_DEFINED__ 166 #ifdef __cplusplus 167 typedef class PersistentDataChannel PersistentDataChannel; 168 #else 169 typedef struct PersistentDataChannel PersistentDataChannel; 170 #endif /* defined __cplusplus */ 171 #endif /* defined __PersistentDataChannel_FWD_DEFINED__ */ 172 173 /* Headers for imported files */ 174 175 #include <oaidl.h> 176 #include <ocidl.h> 177 178 #ifdef __cplusplus 179 extern "C" { 180 #endif 181 182 #include <winapifamily.h> 183 184 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 185 typedef enum _ALG_ADAPTER_TYPE { 186 eALG_PRIVATE = 0x1, 187 eALG_BOUNDARY = 0x2, 188 eALG_FIREWALLED = 0x4 189 } ALG_ADAPTER_TYPE; 190 typedef enum _ALG_CAPTURE { 191 eALG_SOURCE_CAPTURE = 0x1, 192 eALG_DESTINATION_CAPTURE = 0x2 193 } ALG_CAPTURE; 194 typedef enum _ALG_DIRECTION { 195 eALG_INBOUND = 0x1, 196 eALG_OUTBOUND = 0x2, 197 eALG_BOTH = 0x3 198 } ALG_DIRECTION; 199 typedef enum _ALG_NOTIFICATION { 200 eALG_NONE = 0x0, 201 eALG_SESSION_CREATION = 0x1, 202 eALG_SESSION_DELETION = 0x2, 203 eALG_SESSION_BOTH = 0x3 204 } ALG_NOTIFICATION; 205 typedef enum _ALG_PROTOCOL { 206 eALG_TCP = 0x1, 207 eALG_UDP = 0x2 208 } ALG_PROTOCOL; 209 typedef struct _ALG_PRIMARY_CHANNEL_PROPERTIES { 210 ALG_PROTOCOL eProtocol; 211 USHORT usCapturePort; 212 ALG_CAPTURE eCaptureType; 213 WINBOOL fCaptureInbound; 214 ULONG ulListeningAddress; 215 USHORT usListeningPort; 216 ULONG ulAdapterIndex; 217 } ALG_PRIMARY_CHANNEL_PROPERTIES; 218 typedef struct _ALG_SECONDARY_CHANNEL_PROPERTIES { 219 ALG_PROTOCOL eProtocol; 220 ULONG ulPrivateAddress; 221 USHORT usPrivatePort; 222 ULONG ulPublicAddress; 223 USHORT usPublicPort; 224 ULONG ulRemoteAddress; 225 USHORT usRemotePort; 226 ULONG ulListenAddress; 227 USHORT usListenPort; 228 ALG_DIRECTION eDirection; 229 WINBOOL fPersistent; 230 } ALG_SECONDARY_CHANNEL_PROPERTIES; 231 typedef struct _ALG_DATA_CHANNEL_PROPERTIES { 232 ALG_PROTOCOL eProtocol; 233 ULONG ulPrivateAddress; 234 USHORT usPrivatePort; 235 ULONG ulPublicAddress; 236 USHORT usPublicPort; 237 ULONG ulRemoteAddress; 238 USHORT usRemotePort; 239 ALG_DIRECTION eDirection; 240 ALG_NOTIFICATION eDesiredNotification; 241 } ALG_DATA_CHANNEL_PROPERTIES; 242 typedef struct _ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES { 243 ALG_PROTOCOL eProtocol; 244 ULONG ulPrivateAddress; 245 USHORT usPrivatePort; 246 ULONG ulPublicAddress; 247 USHORT usPublicPort; 248 ULONG ulRemoteAddress; 249 USHORT usRemotePort; 250 ALG_DIRECTION eDirection; 251 } ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES; 252 #define ALG_MAXIMUM_PORT_RANGE_SIZE (10) 253 254 /***************************************************************************** 255 * IAdapterInfo interface 256 */ 257 #ifndef __IAdapterInfo_INTERFACE_DEFINED__ 258 #define __IAdapterInfo_INTERFACE_DEFINED__ 259 260 DEFINE_GUID(IID_IAdapterInfo, 0x480bf94a, 0x09fd, 0x4f8a, 0xa3,0xe0, 0xb0,0x70,0x02,0x82,0xd8,0x4d); 261 #if defined(__cplusplus) && !defined(CINTERFACE) 262 MIDL_INTERFACE("480bf94a-09fd-4f8a-a3e0-b0700282d84d") 263 IAdapterInfo : public IUnknown 264 { 265 virtual HRESULT STDMETHODCALLTYPE GetAdapterIndex( 266 ULONG *pulIndex) = 0; 267 268 virtual HRESULT STDMETHODCALLTYPE GetAdapterType( 269 ALG_ADAPTER_TYPE *pAdapterType) = 0; 270 271 virtual HRESULT STDMETHODCALLTYPE GetAdapterAddresses( 272 ULONG *pulAddressCount, 273 ULONG **prgAddresses) = 0; 274 275 }; 276 #ifdef __CRT_UUID_DECL 277 __CRT_UUID_DECL(IAdapterInfo, 0x480bf94a, 0x09fd, 0x4f8a, 0xa3,0xe0, 0xb0,0x70,0x02,0x82,0xd8,0x4d) 278 #endif 279 #else 280 typedef struct IAdapterInfoVtbl { 281 BEGIN_INTERFACE 282 283 /*** IUnknown methods ***/ 284 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 285 IAdapterInfo *This, 286 REFIID riid, 287 void **ppvObject); 288 289 ULONG (STDMETHODCALLTYPE *AddRef)( 290 IAdapterInfo *This); 291 292 ULONG (STDMETHODCALLTYPE *Release)( 293 IAdapterInfo *This); 294 295 /*** IAdapterInfo methods ***/ 296 HRESULT (STDMETHODCALLTYPE *GetAdapterIndex)( 297 IAdapterInfo *This, 298 ULONG *pulIndex); 299 300 HRESULT (STDMETHODCALLTYPE *GetAdapterType)( 301 IAdapterInfo *This, 302 ALG_ADAPTER_TYPE *pAdapterType); 303 304 HRESULT (STDMETHODCALLTYPE *GetAdapterAddresses)( 305 IAdapterInfo *This, 306 ULONG *pulAddressCount, 307 ULONG **prgAddresses); 308 309 END_INTERFACE 310 } IAdapterInfoVtbl; 311 312 interface IAdapterInfo { 313 CONST_VTBL IAdapterInfoVtbl* lpVtbl; 314 }; 315 316 #ifdef COBJMACROS 317 #ifndef WIDL_C_INLINE_WRAPPERS 318 /*** IUnknown methods ***/ 319 #define IAdapterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 320 #define IAdapterInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 321 #define IAdapterInfo_Release(This) (This)->lpVtbl->Release(This) 322 /*** IAdapterInfo methods ***/ 323 #define IAdapterInfo_GetAdapterIndex(This,pulIndex) (This)->lpVtbl->GetAdapterIndex(This,pulIndex) 324 #define IAdapterInfo_GetAdapterType(This,pAdapterType) (This)->lpVtbl->GetAdapterType(This,pAdapterType) 325 #define IAdapterInfo_GetAdapterAddresses(This,pulAddressCount,prgAddresses) (This)->lpVtbl->GetAdapterAddresses(This,pulAddressCount,prgAddresses) 326 #else 327 /*** IUnknown methods ***/ 328 static FORCEINLINE HRESULT IAdapterInfo_QueryInterface(IAdapterInfo* This,REFIID riid,void **ppvObject) { 329 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 330 } 331 static FORCEINLINE ULONG IAdapterInfo_AddRef(IAdapterInfo* This) { 332 return This->lpVtbl->AddRef(This); 333 } 334 static FORCEINLINE ULONG IAdapterInfo_Release(IAdapterInfo* This) { 335 return This->lpVtbl->Release(This); 336 } 337 /*** IAdapterInfo methods ***/ 338 static FORCEINLINE HRESULT IAdapterInfo_GetAdapterIndex(IAdapterInfo* This,ULONG *pulIndex) { 339 return This->lpVtbl->GetAdapterIndex(This,pulIndex); 340 } 341 static FORCEINLINE HRESULT IAdapterInfo_GetAdapterType(IAdapterInfo* This,ALG_ADAPTER_TYPE *pAdapterType) { 342 return This->lpVtbl->GetAdapterType(This,pAdapterType); 343 } 344 static FORCEINLINE HRESULT IAdapterInfo_GetAdapterAddresses(IAdapterInfo* This,ULONG *pulAddressCount,ULONG **prgAddresses) { 345 return This->lpVtbl->GetAdapterAddresses(This,pulAddressCount,prgAddresses); 346 } 347 #endif 348 #endif 349 350 #endif 351 352 353 #endif /* __IAdapterInfo_INTERFACE_DEFINED__ */ 354 355 /***************************************************************************** 356 * IPendingProxyConnection interface 357 */ 358 #ifndef __IPendingProxyConnection_INTERFACE_DEFINED__ 359 #define __IPendingProxyConnection_INTERFACE_DEFINED__ 360 361 DEFINE_GUID(IID_IPendingProxyConnection, 0xb68e5043, 0x3e3d, 0x4cc2, 0xb9,0xc1, 0x5f,0x8f,0x88,0xfe,0xe8,0x1c); 362 #if defined(__cplusplus) && !defined(CINTERFACE) 363 MIDL_INTERFACE("b68e5043-3e3d-4cc2-b9c1-5f8f88fee81c") 364 IPendingProxyConnection : public IUnknown 365 { 366 virtual HRESULT STDMETHODCALLTYPE Cancel( 367 ) = 0; 368 369 }; 370 #ifdef __CRT_UUID_DECL 371 __CRT_UUID_DECL(IPendingProxyConnection, 0xb68e5043, 0x3e3d, 0x4cc2, 0xb9,0xc1, 0x5f,0x8f,0x88,0xfe,0xe8,0x1c) 372 #endif 373 #else 374 typedef struct IPendingProxyConnectionVtbl { 375 BEGIN_INTERFACE 376 377 /*** IUnknown methods ***/ 378 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 379 IPendingProxyConnection *This, 380 REFIID riid, 381 void **ppvObject); 382 383 ULONG (STDMETHODCALLTYPE *AddRef)( 384 IPendingProxyConnection *This); 385 386 ULONG (STDMETHODCALLTYPE *Release)( 387 IPendingProxyConnection *This); 388 389 /*** IPendingProxyConnection methods ***/ 390 HRESULT (STDMETHODCALLTYPE *Cancel)( 391 IPendingProxyConnection *This); 392 393 END_INTERFACE 394 } IPendingProxyConnectionVtbl; 395 396 interface IPendingProxyConnection { 397 CONST_VTBL IPendingProxyConnectionVtbl* lpVtbl; 398 }; 399 400 #ifdef COBJMACROS 401 #ifndef WIDL_C_INLINE_WRAPPERS 402 /*** IUnknown methods ***/ 403 #define IPendingProxyConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 404 #define IPendingProxyConnection_AddRef(This) (This)->lpVtbl->AddRef(This) 405 #define IPendingProxyConnection_Release(This) (This)->lpVtbl->Release(This) 406 /*** IPendingProxyConnection methods ***/ 407 #define IPendingProxyConnection_Cancel(This) (This)->lpVtbl->Cancel(This) 408 #else 409 /*** IUnknown methods ***/ 410 static FORCEINLINE HRESULT IPendingProxyConnection_QueryInterface(IPendingProxyConnection* This,REFIID riid,void **ppvObject) { 411 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 412 } 413 static FORCEINLINE ULONG IPendingProxyConnection_AddRef(IPendingProxyConnection* This) { 414 return This->lpVtbl->AddRef(This); 415 } 416 static FORCEINLINE ULONG IPendingProxyConnection_Release(IPendingProxyConnection* This) { 417 return This->lpVtbl->Release(This); 418 } 419 /*** IPendingProxyConnection methods ***/ 420 static FORCEINLINE HRESULT IPendingProxyConnection_Cancel(IPendingProxyConnection* This) { 421 return This->lpVtbl->Cancel(This); 422 } 423 #endif 424 #endif 425 426 #endif 427 428 429 #endif /* __IPendingProxyConnection_INTERFACE_DEFINED__ */ 430 431 /***************************************************************************** 432 * IDataChannel interface 433 */ 434 #ifndef __IDataChannel_INTERFACE_DEFINED__ 435 #define __IDataChannel_INTERFACE_DEFINED__ 436 437 DEFINE_GUID(IID_IDataChannel, 0xad42d12a, 0x4ad0, 0x4856, 0x91,0x9e, 0xe8,0x54,0xc9,0x1d,0x18,0x56); 438 #if defined(__cplusplus) && !defined(CINTERFACE) 439 MIDL_INTERFACE("ad42d12a-4ad0-4856-919e-e854c91d1856") 440 IDataChannel : public IUnknown 441 { 442 virtual HRESULT STDMETHODCALLTYPE Cancel( 443 ) = 0; 444 445 virtual HRESULT STDMETHODCALLTYPE GetChannelProperties( 446 ALG_DATA_CHANNEL_PROPERTIES **ppProperties) = 0; 447 448 virtual HRESULT STDMETHODCALLTYPE GetSessionCreationEventHandle( 449 HANDLE *pHandle) = 0; 450 451 virtual HRESULT STDMETHODCALLTYPE GetSessionDeletionEventHandle( 452 HANDLE *pHandle) = 0; 453 454 }; 455 #ifdef __CRT_UUID_DECL 456 __CRT_UUID_DECL(IDataChannel, 0xad42d12a, 0x4ad0, 0x4856, 0x91,0x9e, 0xe8,0x54,0xc9,0x1d,0x18,0x56) 457 #endif 458 #else 459 typedef struct IDataChannelVtbl { 460 BEGIN_INTERFACE 461 462 /*** IUnknown methods ***/ 463 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 464 IDataChannel *This, 465 REFIID riid, 466 void **ppvObject); 467 468 ULONG (STDMETHODCALLTYPE *AddRef)( 469 IDataChannel *This); 470 471 ULONG (STDMETHODCALLTYPE *Release)( 472 IDataChannel *This); 473 474 /*** IDataChannel methods ***/ 475 HRESULT (STDMETHODCALLTYPE *Cancel)( 476 IDataChannel *This); 477 478 HRESULT (STDMETHODCALLTYPE *GetChannelProperties)( 479 IDataChannel *This, 480 ALG_DATA_CHANNEL_PROPERTIES **ppProperties); 481 482 HRESULT (STDMETHODCALLTYPE *GetSessionCreationEventHandle)( 483 IDataChannel *This, 484 HANDLE *pHandle); 485 486 HRESULT (STDMETHODCALLTYPE *GetSessionDeletionEventHandle)( 487 IDataChannel *This, 488 HANDLE *pHandle); 489 490 END_INTERFACE 491 } IDataChannelVtbl; 492 493 interface IDataChannel { 494 CONST_VTBL IDataChannelVtbl* lpVtbl; 495 }; 496 497 #ifdef COBJMACROS 498 #ifndef WIDL_C_INLINE_WRAPPERS 499 /*** IUnknown methods ***/ 500 #define IDataChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 501 #define IDataChannel_AddRef(This) (This)->lpVtbl->AddRef(This) 502 #define IDataChannel_Release(This) (This)->lpVtbl->Release(This) 503 /*** IDataChannel methods ***/ 504 #define IDataChannel_Cancel(This) (This)->lpVtbl->Cancel(This) 505 #define IDataChannel_GetChannelProperties(This,ppProperties) (This)->lpVtbl->GetChannelProperties(This,ppProperties) 506 #define IDataChannel_GetSessionCreationEventHandle(This,pHandle) (This)->lpVtbl->GetSessionCreationEventHandle(This,pHandle) 507 #define IDataChannel_GetSessionDeletionEventHandle(This,pHandle) (This)->lpVtbl->GetSessionDeletionEventHandle(This,pHandle) 508 #else 509 /*** IUnknown methods ***/ 510 static FORCEINLINE HRESULT IDataChannel_QueryInterface(IDataChannel* This,REFIID riid,void **ppvObject) { 511 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 512 } 513 static FORCEINLINE ULONG IDataChannel_AddRef(IDataChannel* This) { 514 return This->lpVtbl->AddRef(This); 515 } 516 static FORCEINLINE ULONG IDataChannel_Release(IDataChannel* This) { 517 return This->lpVtbl->Release(This); 518 } 519 /*** IDataChannel methods ***/ 520 static FORCEINLINE HRESULT IDataChannel_Cancel(IDataChannel* This) { 521 return This->lpVtbl->Cancel(This); 522 } 523 static FORCEINLINE HRESULT IDataChannel_GetChannelProperties(IDataChannel* This,ALG_DATA_CHANNEL_PROPERTIES **ppProperties) { 524 return This->lpVtbl->GetChannelProperties(This,ppProperties); 525 } 526 static FORCEINLINE HRESULT IDataChannel_GetSessionCreationEventHandle(IDataChannel* This,HANDLE *pHandle) { 527 return This->lpVtbl->GetSessionCreationEventHandle(This,pHandle); 528 } 529 static FORCEINLINE HRESULT IDataChannel_GetSessionDeletionEventHandle(IDataChannel* This,HANDLE *pHandle) { 530 return This->lpVtbl->GetSessionDeletionEventHandle(This,pHandle); 531 } 532 #endif 533 #endif 534 535 #endif 536 537 538 #endif /* __IDataChannel_INTERFACE_DEFINED__ */ 539 540 /***************************************************************************** 541 * IPersistentDataChannel interface 542 */ 543 #ifndef __IPersistentDataChannel_INTERFACE_DEFINED__ 544 #define __IPersistentDataChannel_INTERFACE_DEFINED__ 545 546 DEFINE_GUID(IID_IPersistentDataChannel, 0xa180e934, 0xd92a, 0x415d, 0x91,0x44, 0x75,0x9f,0x80,0x54,0xe8,0xf6); 547 #if defined(__cplusplus) && !defined(CINTERFACE) 548 MIDL_INTERFACE("a180e934-d92a-415d-9144-759f8054e8f6") 549 IPersistentDataChannel : public IUnknown 550 { 551 virtual HRESULT STDMETHODCALLTYPE Cancel( 552 ) = 0; 553 554 virtual HRESULT STDMETHODCALLTYPE GetChannelProperties( 555 ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties) = 0; 556 557 }; 558 #ifdef __CRT_UUID_DECL 559 __CRT_UUID_DECL(IPersistentDataChannel, 0xa180e934, 0xd92a, 0x415d, 0x91,0x44, 0x75,0x9f,0x80,0x54,0xe8,0xf6) 560 #endif 561 #else 562 typedef struct IPersistentDataChannelVtbl { 563 BEGIN_INTERFACE 564 565 /*** IUnknown methods ***/ 566 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 567 IPersistentDataChannel *This, 568 REFIID riid, 569 void **ppvObject); 570 571 ULONG (STDMETHODCALLTYPE *AddRef)( 572 IPersistentDataChannel *This); 573 574 ULONG (STDMETHODCALLTYPE *Release)( 575 IPersistentDataChannel *This); 576 577 /*** IPersistentDataChannel methods ***/ 578 HRESULT (STDMETHODCALLTYPE *Cancel)( 579 IPersistentDataChannel *This); 580 581 HRESULT (STDMETHODCALLTYPE *GetChannelProperties)( 582 IPersistentDataChannel *This, 583 ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties); 584 585 END_INTERFACE 586 } IPersistentDataChannelVtbl; 587 588 interface IPersistentDataChannel { 589 CONST_VTBL IPersistentDataChannelVtbl* lpVtbl; 590 }; 591 592 #ifdef COBJMACROS 593 #ifndef WIDL_C_INLINE_WRAPPERS 594 /*** IUnknown methods ***/ 595 #define IPersistentDataChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 596 #define IPersistentDataChannel_AddRef(This) (This)->lpVtbl->AddRef(This) 597 #define IPersistentDataChannel_Release(This) (This)->lpVtbl->Release(This) 598 /*** IPersistentDataChannel methods ***/ 599 #define IPersistentDataChannel_Cancel(This) (This)->lpVtbl->Cancel(This) 600 #define IPersistentDataChannel_GetChannelProperties(This,ppProperties) (This)->lpVtbl->GetChannelProperties(This,ppProperties) 601 #else 602 /*** IUnknown methods ***/ 603 static FORCEINLINE HRESULT IPersistentDataChannel_QueryInterface(IPersistentDataChannel* This,REFIID riid,void **ppvObject) { 604 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 605 } 606 static FORCEINLINE ULONG IPersistentDataChannel_AddRef(IPersistentDataChannel* This) { 607 return This->lpVtbl->AddRef(This); 608 } 609 static FORCEINLINE ULONG IPersistentDataChannel_Release(IPersistentDataChannel* This) { 610 return This->lpVtbl->Release(This); 611 } 612 /*** IPersistentDataChannel methods ***/ 613 static FORCEINLINE HRESULT IPersistentDataChannel_Cancel(IPersistentDataChannel* This) { 614 return This->lpVtbl->Cancel(This); 615 } 616 static FORCEINLINE HRESULT IPersistentDataChannel_GetChannelProperties(IPersistentDataChannel* This,ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties) { 617 return This->lpVtbl->GetChannelProperties(This,ppProperties); 618 } 619 #endif 620 #endif 621 622 #endif 623 624 625 #endif /* __IPersistentDataChannel_INTERFACE_DEFINED__ */ 626 627 /***************************************************************************** 628 * IPrimaryControlChannel interface 629 */ 630 #ifndef __IPrimaryControlChannel_INTERFACE_DEFINED__ 631 #define __IPrimaryControlChannel_INTERFACE_DEFINED__ 632 633 DEFINE_GUID(IID_IPrimaryControlChannel, 0x1a2e8b62, 0x9012, 0x4be6, 0x84,0xae, 0x32,0xbd,0x66,0xba,0x65,0x7a); 634 #if defined(__cplusplus) && !defined(CINTERFACE) 635 MIDL_INTERFACE("1a2e8b62-9012-4be6-84ae-32bd66ba657a") 636 IPrimaryControlChannel : public IUnknown 637 { 638 virtual HRESULT STDMETHODCALLTYPE Cancel( 639 ) = 0; 640 641 virtual HRESULT STDMETHODCALLTYPE GetChannelProperties( 642 ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties) = 0; 643 644 virtual HRESULT STDMETHODCALLTYPE GetOriginalDestinationInformation( 645 ULONG ulSourceAddress, 646 USHORT usSourcePort, 647 ULONG *pulOriginalDestinationAddress, 648 USHORT *pusOriginalDestinationPort, 649 ULONG *pulRemapDestinationAddress, 650 USHORT *pulRemapDestinationPort, 651 IAdapterInfo **ppReceiveAdapter) = 0; 652 653 }; 654 #ifdef __CRT_UUID_DECL 655 __CRT_UUID_DECL(IPrimaryControlChannel, 0x1a2e8b62, 0x9012, 0x4be6, 0x84,0xae, 0x32,0xbd,0x66,0xba,0x65,0x7a) 656 #endif 657 #else 658 typedef struct IPrimaryControlChannelVtbl { 659 BEGIN_INTERFACE 660 661 /*** IUnknown methods ***/ 662 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 663 IPrimaryControlChannel *This, 664 REFIID riid, 665 void **ppvObject); 666 667 ULONG (STDMETHODCALLTYPE *AddRef)( 668 IPrimaryControlChannel *This); 669 670 ULONG (STDMETHODCALLTYPE *Release)( 671 IPrimaryControlChannel *This); 672 673 /*** IPrimaryControlChannel methods ***/ 674 HRESULT (STDMETHODCALLTYPE *Cancel)( 675 IPrimaryControlChannel *This); 676 677 HRESULT (STDMETHODCALLTYPE *GetChannelProperties)( 678 IPrimaryControlChannel *This, 679 ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties); 680 681 HRESULT (STDMETHODCALLTYPE *GetOriginalDestinationInformation)( 682 IPrimaryControlChannel *This, 683 ULONG ulSourceAddress, 684 USHORT usSourcePort, 685 ULONG *pulOriginalDestinationAddress, 686 USHORT *pusOriginalDestinationPort, 687 ULONG *pulRemapDestinationAddress, 688 USHORT *pulRemapDestinationPort, 689 IAdapterInfo **ppReceiveAdapter); 690 691 END_INTERFACE 692 } IPrimaryControlChannelVtbl; 693 694 interface IPrimaryControlChannel { 695 CONST_VTBL IPrimaryControlChannelVtbl* lpVtbl; 696 }; 697 698 #ifdef COBJMACROS 699 #ifndef WIDL_C_INLINE_WRAPPERS 700 /*** IUnknown methods ***/ 701 #define IPrimaryControlChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 702 #define IPrimaryControlChannel_AddRef(This) (This)->lpVtbl->AddRef(This) 703 #define IPrimaryControlChannel_Release(This) (This)->lpVtbl->Release(This) 704 /*** IPrimaryControlChannel methods ***/ 705 #define IPrimaryControlChannel_Cancel(This) (This)->lpVtbl->Cancel(This) 706 #define IPrimaryControlChannel_GetChannelProperties(This,ppProperties) (This)->lpVtbl->GetChannelProperties(This,ppProperties) 707 #define IPrimaryControlChannel_GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter) (This)->lpVtbl->GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter) 708 #else 709 /*** IUnknown methods ***/ 710 static FORCEINLINE HRESULT IPrimaryControlChannel_QueryInterface(IPrimaryControlChannel* This,REFIID riid,void **ppvObject) { 711 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 712 } 713 static FORCEINLINE ULONG IPrimaryControlChannel_AddRef(IPrimaryControlChannel* This) { 714 return This->lpVtbl->AddRef(This); 715 } 716 static FORCEINLINE ULONG IPrimaryControlChannel_Release(IPrimaryControlChannel* This) { 717 return This->lpVtbl->Release(This); 718 } 719 /*** IPrimaryControlChannel methods ***/ 720 static FORCEINLINE HRESULT IPrimaryControlChannel_Cancel(IPrimaryControlChannel* This) { 721 return This->lpVtbl->Cancel(This); 722 } 723 static FORCEINLINE HRESULT IPrimaryControlChannel_GetChannelProperties(IPrimaryControlChannel* This,ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties) { 724 return This->lpVtbl->GetChannelProperties(This,ppProperties); 725 } 726 static FORCEINLINE HRESULT IPrimaryControlChannel_GetOriginalDestinationInformation(IPrimaryControlChannel* This,ULONG ulSourceAddress,USHORT usSourcePort,ULONG *pulOriginalDestinationAddress,USHORT *pusOriginalDestinationPort,ULONG *pulRemapDestinationAddress,USHORT *pulRemapDestinationPort,IAdapterInfo **ppReceiveAdapter) { 727 return This->lpVtbl->GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter); 728 } 729 #endif 730 #endif 731 732 #endif 733 734 735 #endif /* __IPrimaryControlChannel_INTERFACE_DEFINED__ */ 736 737 /***************************************************************************** 738 * ISecondaryControlChannel interface 739 */ 740 #ifndef __ISecondaryControlChannel_INTERFACE_DEFINED__ 741 #define __ISecondaryControlChannel_INTERFACE_DEFINED__ 742 743 DEFINE_GUID(IID_ISecondaryControlChannel, 0xa23f9d10, 0x714c, 0x41fe, 0x84,0x71, 0xff,0xb1,0x9b,0xc2,0x84,0x54); 744 #if defined(__cplusplus) && !defined(CINTERFACE) 745 MIDL_INTERFACE("a23f9d10-714c-41fe-8471-ffb19bc28454") 746 ISecondaryControlChannel : public IUnknown 747 { 748 virtual HRESULT STDMETHODCALLTYPE Cancel( 749 ) = 0; 750 751 virtual HRESULT STDMETHODCALLTYPE GetChannelProperties( 752 ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties) = 0; 753 754 virtual HRESULT STDMETHODCALLTYPE GetOriginalDestinationInformation( 755 ULONG ulSourceAddress, 756 USHORT usSourcePort, 757 ULONG *pulOriginalDestinationAddress, 758 USHORT *pusOriginalDestinationPort, 759 IAdapterInfo **ppReceiveAdapter) = 0; 760 761 }; 762 #ifdef __CRT_UUID_DECL 763 __CRT_UUID_DECL(ISecondaryControlChannel, 0xa23f9d10, 0x714c, 0x41fe, 0x84,0x71, 0xff,0xb1,0x9b,0xc2,0x84,0x54) 764 #endif 765 #else 766 typedef struct ISecondaryControlChannelVtbl { 767 BEGIN_INTERFACE 768 769 /*** IUnknown methods ***/ 770 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 771 ISecondaryControlChannel *This, 772 REFIID riid, 773 void **ppvObject); 774 775 ULONG (STDMETHODCALLTYPE *AddRef)( 776 ISecondaryControlChannel *This); 777 778 ULONG (STDMETHODCALLTYPE *Release)( 779 ISecondaryControlChannel *This); 780 781 /*** ISecondaryControlChannel methods ***/ 782 HRESULT (STDMETHODCALLTYPE *Cancel)( 783 ISecondaryControlChannel *This); 784 785 HRESULT (STDMETHODCALLTYPE *GetChannelProperties)( 786 ISecondaryControlChannel *This, 787 ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties); 788 789 HRESULT (STDMETHODCALLTYPE *GetOriginalDestinationInformation)( 790 ISecondaryControlChannel *This, 791 ULONG ulSourceAddress, 792 USHORT usSourcePort, 793 ULONG *pulOriginalDestinationAddress, 794 USHORT *pusOriginalDestinationPort, 795 IAdapterInfo **ppReceiveAdapter); 796 797 END_INTERFACE 798 } ISecondaryControlChannelVtbl; 799 800 interface ISecondaryControlChannel { 801 CONST_VTBL ISecondaryControlChannelVtbl* lpVtbl; 802 }; 803 804 #ifdef COBJMACROS 805 #ifndef WIDL_C_INLINE_WRAPPERS 806 /*** IUnknown methods ***/ 807 #define ISecondaryControlChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 808 #define ISecondaryControlChannel_AddRef(This) (This)->lpVtbl->AddRef(This) 809 #define ISecondaryControlChannel_Release(This) (This)->lpVtbl->Release(This) 810 /*** ISecondaryControlChannel methods ***/ 811 #define ISecondaryControlChannel_Cancel(This) (This)->lpVtbl->Cancel(This) 812 #define ISecondaryControlChannel_GetChannelProperties(This,ppProperties) (This)->lpVtbl->GetChannelProperties(This,ppProperties) 813 #define ISecondaryControlChannel_GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter) (This)->lpVtbl->GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter) 814 #else 815 /*** IUnknown methods ***/ 816 static FORCEINLINE HRESULT ISecondaryControlChannel_QueryInterface(ISecondaryControlChannel* This,REFIID riid,void **ppvObject) { 817 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 818 } 819 static FORCEINLINE ULONG ISecondaryControlChannel_AddRef(ISecondaryControlChannel* This) { 820 return This->lpVtbl->AddRef(This); 821 } 822 static FORCEINLINE ULONG ISecondaryControlChannel_Release(ISecondaryControlChannel* This) { 823 return This->lpVtbl->Release(This); 824 } 825 /*** ISecondaryControlChannel methods ***/ 826 static FORCEINLINE HRESULT ISecondaryControlChannel_Cancel(ISecondaryControlChannel* This) { 827 return This->lpVtbl->Cancel(This); 828 } 829 static FORCEINLINE HRESULT ISecondaryControlChannel_GetChannelProperties(ISecondaryControlChannel* This,ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties) { 830 return This->lpVtbl->GetChannelProperties(This,ppProperties); 831 } 832 static FORCEINLINE HRESULT ISecondaryControlChannel_GetOriginalDestinationInformation(ISecondaryControlChannel* This,ULONG ulSourceAddress,USHORT usSourcePort,ULONG *pulOriginalDestinationAddress,USHORT *pusOriginalDestinationPort,IAdapterInfo **ppReceiveAdapter) { 833 return This->lpVtbl->GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter); 834 } 835 #endif 836 #endif 837 838 #endif 839 840 841 #endif /* __ISecondaryControlChannel_INTERFACE_DEFINED__ */ 842 843 /***************************************************************************** 844 * IEnumAdapterInfo interface 845 */ 846 #ifndef __IEnumAdapterInfo_INTERFACE_DEFINED__ 847 #define __IEnumAdapterInfo_INTERFACE_DEFINED__ 848 849 DEFINE_GUID(IID_IEnumAdapterInfo, 0xa23f9d11, 0x714c, 0x41fe, 0x84,0x71, 0xff,0xb1,0x9b,0xc2,0x84,0x54); 850 #if defined(__cplusplus) && !defined(CINTERFACE) 851 MIDL_INTERFACE("a23f9d11-714c-41fe-8471-ffb19bc28454") 852 IEnumAdapterInfo : public IUnknown 853 { 854 virtual HRESULT STDMETHODCALLTYPE Next( 855 ULONG celt, 856 IAdapterInfo **rgAI, 857 ULONG *pCeltFetched) = 0; 858 859 virtual HRESULT STDMETHODCALLTYPE Skip( 860 ULONG celt) = 0; 861 862 virtual HRESULT STDMETHODCALLTYPE Reset( 863 ) = 0; 864 865 virtual HRESULT STDMETHODCALLTYPE Clone( 866 IEnumAdapterInfo **ppEnum) = 0; 867 868 }; 869 #ifdef __CRT_UUID_DECL 870 __CRT_UUID_DECL(IEnumAdapterInfo, 0xa23f9d11, 0x714c, 0x41fe, 0x84,0x71, 0xff,0xb1,0x9b,0xc2,0x84,0x54) 871 #endif 872 #else 873 typedef struct IEnumAdapterInfoVtbl { 874 BEGIN_INTERFACE 875 876 /*** IUnknown methods ***/ 877 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 878 IEnumAdapterInfo *This, 879 REFIID riid, 880 void **ppvObject); 881 882 ULONG (STDMETHODCALLTYPE *AddRef)( 883 IEnumAdapterInfo *This); 884 885 ULONG (STDMETHODCALLTYPE *Release)( 886 IEnumAdapterInfo *This); 887 888 /*** IEnumAdapterInfo methods ***/ 889 HRESULT (STDMETHODCALLTYPE *Next)( 890 IEnumAdapterInfo *This, 891 ULONG celt, 892 IAdapterInfo **rgAI, 893 ULONG *pCeltFetched); 894 895 HRESULT (STDMETHODCALLTYPE *Skip)( 896 IEnumAdapterInfo *This, 897 ULONG celt); 898 899 HRESULT (STDMETHODCALLTYPE *Reset)( 900 IEnumAdapterInfo *This); 901 902 HRESULT (STDMETHODCALLTYPE *Clone)( 903 IEnumAdapterInfo *This, 904 IEnumAdapterInfo **ppEnum); 905 906 END_INTERFACE 907 } IEnumAdapterInfoVtbl; 908 909 interface IEnumAdapterInfo { 910 CONST_VTBL IEnumAdapterInfoVtbl* lpVtbl; 911 }; 912 913 #ifdef COBJMACROS 914 #ifndef WIDL_C_INLINE_WRAPPERS 915 /*** IUnknown methods ***/ 916 #define IEnumAdapterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 917 #define IEnumAdapterInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 918 #define IEnumAdapterInfo_Release(This) (This)->lpVtbl->Release(This) 919 /*** IEnumAdapterInfo methods ***/ 920 #define IEnumAdapterInfo_Next(This,celt,rgAI,pCeltFetched) (This)->lpVtbl->Next(This,celt,rgAI,pCeltFetched) 921 #define IEnumAdapterInfo_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) 922 #define IEnumAdapterInfo_Reset(This) (This)->lpVtbl->Reset(This) 923 #define IEnumAdapterInfo_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) 924 #else 925 /*** IUnknown methods ***/ 926 static FORCEINLINE HRESULT IEnumAdapterInfo_QueryInterface(IEnumAdapterInfo* This,REFIID riid,void **ppvObject) { 927 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 928 } 929 static FORCEINLINE ULONG IEnumAdapterInfo_AddRef(IEnumAdapterInfo* This) { 930 return This->lpVtbl->AddRef(This); 931 } 932 static FORCEINLINE ULONG IEnumAdapterInfo_Release(IEnumAdapterInfo* This) { 933 return This->lpVtbl->Release(This); 934 } 935 /*** IEnumAdapterInfo methods ***/ 936 static FORCEINLINE HRESULT IEnumAdapterInfo_Next(IEnumAdapterInfo* This,ULONG celt,IAdapterInfo **rgAI,ULONG *pCeltFetched) { 937 return This->lpVtbl->Next(This,celt,rgAI,pCeltFetched); 938 } 939 static FORCEINLINE HRESULT IEnumAdapterInfo_Skip(IEnumAdapterInfo* This,ULONG celt) { 940 return This->lpVtbl->Skip(This,celt); 941 } 942 static FORCEINLINE HRESULT IEnumAdapterInfo_Reset(IEnumAdapterInfo* This) { 943 return This->lpVtbl->Reset(This); 944 } 945 static FORCEINLINE HRESULT IEnumAdapterInfo_Clone(IEnumAdapterInfo* This,IEnumAdapterInfo **ppEnum) { 946 return This->lpVtbl->Clone(This,ppEnum); 947 } 948 #endif 949 #endif 950 951 #endif 952 953 954 #endif /* __IEnumAdapterInfo_INTERFACE_DEFINED__ */ 955 956 /***************************************************************************** 957 * IAdapterNotificationSink interface 958 */ 959 #ifndef __IAdapterNotificationSink_INTERFACE_DEFINED__ 960 #define __IAdapterNotificationSink_INTERFACE_DEFINED__ 961 962 DEFINE_GUID(IID_IAdapterNotificationSink, 0x44ab2dc3, 0x23b2, 0x47de, 0x82,0x28, 0x2e,0x1c,0xce,0xeb,0x99,0x11); 963 #if defined(__cplusplus) && !defined(CINTERFACE) 964 MIDL_INTERFACE("44ab2dc3-23b2-47de-8228-2e1cceeb9911") 965 IAdapterNotificationSink : public IUnknown 966 { 967 virtual HRESULT STDMETHODCALLTYPE AdapterAdded( 968 IAdapterInfo *pAdapter) = 0; 969 970 virtual HRESULT STDMETHODCALLTYPE AdapterRemoved( 971 IAdapterInfo *pAdapter) = 0; 972 973 virtual HRESULT STDMETHODCALLTYPE AdapterModified( 974 IAdapterInfo *pAdapter) = 0; 975 976 virtual HRESULT STDMETHODCALLTYPE AdapterUpdatePortMapping( 977 IAdapterInfo *pAdapter) = 0; 978 979 }; 980 #ifdef __CRT_UUID_DECL 981 __CRT_UUID_DECL(IAdapterNotificationSink, 0x44ab2dc3, 0x23b2, 0x47de, 0x82,0x28, 0x2e,0x1c,0xce,0xeb,0x99,0x11) 982 #endif 983 #else 984 typedef struct IAdapterNotificationSinkVtbl { 985 BEGIN_INTERFACE 986 987 /*** IUnknown methods ***/ 988 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 989 IAdapterNotificationSink *This, 990 REFIID riid, 991 void **ppvObject); 992 993 ULONG (STDMETHODCALLTYPE *AddRef)( 994 IAdapterNotificationSink *This); 995 996 ULONG (STDMETHODCALLTYPE *Release)( 997 IAdapterNotificationSink *This); 998 999 /*** IAdapterNotificationSink methods ***/ 1000 HRESULT (STDMETHODCALLTYPE *AdapterAdded)( 1001 IAdapterNotificationSink *This, 1002 IAdapterInfo *pAdapter); 1003 1004 HRESULT (STDMETHODCALLTYPE *AdapterRemoved)( 1005 IAdapterNotificationSink *This, 1006 IAdapterInfo *pAdapter); 1007 1008 HRESULT (STDMETHODCALLTYPE *AdapterModified)( 1009 IAdapterNotificationSink *This, 1010 IAdapterInfo *pAdapter); 1011 1012 HRESULT (STDMETHODCALLTYPE *AdapterUpdatePortMapping)( 1013 IAdapterNotificationSink *This, 1014 IAdapterInfo *pAdapter); 1015 1016 END_INTERFACE 1017 } IAdapterNotificationSinkVtbl; 1018 1019 interface IAdapterNotificationSink { 1020 CONST_VTBL IAdapterNotificationSinkVtbl* lpVtbl; 1021 }; 1022 1023 #ifdef COBJMACROS 1024 #ifndef WIDL_C_INLINE_WRAPPERS 1025 /*** IUnknown methods ***/ 1026 #define IAdapterNotificationSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1027 #define IAdapterNotificationSink_AddRef(This) (This)->lpVtbl->AddRef(This) 1028 #define IAdapterNotificationSink_Release(This) (This)->lpVtbl->Release(This) 1029 /*** IAdapterNotificationSink methods ***/ 1030 #define IAdapterNotificationSink_AdapterAdded(This,pAdapter) (This)->lpVtbl->AdapterAdded(This,pAdapter) 1031 #define IAdapterNotificationSink_AdapterRemoved(This,pAdapter) (This)->lpVtbl->AdapterRemoved(This,pAdapter) 1032 #define IAdapterNotificationSink_AdapterModified(This,pAdapter) (This)->lpVtbl->AdapterModified(This,pAdapter) 1033 #define IAdapterNotificationSink_AdapterUpdatePortMapping(This,pAdapter) (This)->lpVtbl->AdapterUpdatePortMapping(This,pAdapter) 1034 #else 1035 /*** IUnknown methods ***/ 1036 static FORCEINLINE HRESULT IAdapterNotificationSink_QueryInterface(IAdapterNotificationSink* This,REFIID riid,void **ppvObject) { 1037 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1038 } 1039 static FORCEINLINE ULONG IAdapterNotificationSink_AddRef(IAdapterNotificationSink* This) { 1040 return This->lpVtbl->AddRef(This); 1041 } 1042 static FORCEINLINE ULONG IAdapterNotificationSink_Release(IAdapterNotificationSink* This) { 1043 return This->lpVtbl->Release(This); 1044 } 1045 /*** IAdapterNotificationSink methods ***/ 1046 static FORCEINLINE HRESULT IAdapterNotificationSink_AdapterAdded(IAdapterNotificationSink* This,IAdapterInfo *pAdapter) { 1047 return This->lpVtbl->AdapterAdded(This,pAdapter); 1048 } 1049 static FORCEINLINE HRESULT IAdapterNotificationSink_AdapterRemoved(IAdapterNotificationSink* This,IAdapterInfo *pAdapter) { 1050 return This->lpVtbl->AdapterRemoved(This,pAdapter); 1051 } 1052 static FORCEINLINE HRESULT IAdapterNotificationSink_AdapterModified(IAdapterNotificationSink* This,IAdapterInfo *pAdapter) { 1053 return This->lpVtbl->AdapterModified(This,pAdapter); 1054 } 1055 static FORCEINLINE HRESULT IAdapterNotificationSink_AdapterUpdatePortMapping(IAdapterNotificationSink* This,IAdapterInfo *pAdapter) { 1056 return This->lpVtbl->AdapterUpdatePortMapping(This,pAdapter); 1057 } 1058 #endif 1059 #endif 1060 1061 #endif 1062 1063 1064 #endif /* __IAdapterNotificationSink_INTERFACE_DEFINED__ */ 1065 1066 /***************************************************************************** 1067 * IApplicationGatewayServices interface 1068 */ 1069 #ifndef __IApplicationGatewayServices_INTERFACE_DEFINED__ 1070 #define __IApplicationGatewayServices_INTERFACE_DEFINED__ 1071 1072 DEFINE_GUID(IID_IApplicationGatewayServices, 0x5134842a, 0xfdce, 0x485d, 0x93,0xcd, 0xde,0x16,0x40,0x64,0x3b,0xbe); 1073 #if defined(__cplusplus) && !defined(CINTERFACE) 1074 MIDL_INTERFACE("5134842a-fdce-485d-93cd-de1640643bbe") 1075 IApplicationGatewayServices : public IUnknown 1076 { 1077 virtual HRESULT STDMETHODCALLTYPE CreatePrimaryControlChannel( 1078 ULONG uAdapterIndex, 1079 ALG_PROTOCOL eProtocol, 1080 USHORT usPortToCapture, 1081 ALG_CAPTURE eCaptureType, 1082 WINBOOL fCaptureInbound, 1083 ULONG ulListenAddress, 1084 USHORT usListenPort, 1085 IPrimaryControlChannel **ppIControlChannel) = 0; 1086 1087 virtual HRESULT STDMETHODCALLTYPE CreateSecondaryControlChannel( 1088 ALG_PROTOCOL eProtocol, 1089 ULONG ulPrivateAddress, 1090 USHORT usPrivatePort, 1091 ULONG ulPublicAddress, 1092 USHORT usPublicPort, 1093 ULONG ulRemoteAddress, 1094 USHORT usRemotePort, 1095 ULONG ulListenAddress, 1096 USHORT usListenPort, 1097 ALG_DIRECTION eDirection, 1098 WINBOOL fPersistent, 1099 ISecondaryControlChannel **ppControlChannel) = 0; 1100 1101 virtual HRESULT STDMETHODCALLTYPE GetBestSourceAddressForDestinationAddress( 1102 ULONG ulDstAddress, 1103 WINBOOL fDemandDial, 1104 ULONG *pulBestSrcAddress) = 0; 1105 1106 virtual HRESULT STDMETHODCALLTYPE PrepareProxyConnection( 1107 ALG_PROTOCOL eProtocol, 1108 ULONG ulSrcAddress, 1109 USHORT usSrcPort, 1110 ULONG ulDstAddress, 1111 USHORT usDstPort, 1112 WINBOOL fNoTimeout, 1113 IPendingProxyConnection **ppPendingConnection) = 0; 1114 1115 virtual HRESULT STDMETHODCALLTYPE PrepareSourceModifiedProxyConnection( 1116 ALG_PROTOCOL eProtocol, 1117 ULONG ulSrcAddress, 1118 USHORT usSrcPort, 1119 ULONG ulDstAddress, 1120 USHORT usDstPort, 1121 ULONG ulNewSrcAddress, 1122 USHORT usNewSourcePort, 1123 IPendingProxyConnection **ppPendingConnection) = 0; 1124 1125 virtual HRESULT STDMETHODCALLTYPE CreateDataChannel( 1126 ALG_PROTOCOL eProtocol, 1127 ULONG ulPrivateAddress, 1128 USHORT usPrivatePort, 1129 ULONG ulPublicAddress, 1130 USHORT usPublicPort, 1131 ULONG ulRemoteAddress, 1132 USHORT usRemotePort, 1133 ALG_DIRECTION eDirection, 1134 ALG_NOTIFICATION eDesiredNotification, 1135 WINBOOL fNoTimeout, 1136 IDataChannel **ppDataChannel) = 0; 1137 1138 virtual HRESULT STDMETHODCALLTYPE CreatePersistentDataChannel( 1139 ALG_PROTOCOL eProtocol, 1140 ULONG ulPrivateAddress, 1141 USHORT usPrivatePort, 1142 ULONG ulPublicAddress, 1143 USHORT usPublicPort, 1144 ULONG ulRemoteAddress, 1145 USHORT usRemotePort, 1146 ALG_DIRECTION eDirection, 1147 IPersistentDataChannel **ppIPersistentDataChannel) = 0; 1148 1149 virtual HRESULT STDMETHODCALLTYPE ReservePort( 1150 USHORT usPortCount, 1151 USHORT *pusReservedPort) = 0; 1152 1153 virtual HRESULT STDMETHODCALLTYPE ReleaseReservedPort( 1154 USHORT usReservedPortBase, 1155 USHORT usPortCount) = 0; 1156 1157 virtual HRESULT STDMETHODCALLTYPE EnumerateAdapters( 1158 IEnumAdapterInfo **ppIEnumAdapterInfo) = 0; 1159 1160 virtual HRESULT STDMETHODCALLTYPE StartAdapterNotifications( 1161 IAdapterNotificationSink *pSink, 1162 DWORD *pdwCookie) = 0; 1163 1164 virtual HRESULT STDMETHODCALLTYPE StopAdapterNotifications( 1165 DWORD dwCookieOfSink) = 0; 1166 1167 virtual HRESULT STDMETHODCALLTYPE LookupAdapterPortMapping( 1168 ULONG ulAdapterIndex, 1169 UCHAR Protocol, 1170 ULONG ulDestinationAddress, 1171 USHORT usDestinationPort, 1172 ULONG *pulRemapAddress, 1173 USHORT *pusRemapPort) = 0; 1174 1175 }; 1176 #ifdef __CRT_UUID_DECL 1177 __CRT_UUID_DECL(IApplicationGatewayServices, 0x5134842a, 0xfdce, 0x485d, 0x93,0xcd, 0xde,0x16,0x40,0x64,0x3b,0xbe) 1178 #endif 1179 #else 1180 typedef struct IApplicationGatewayServicesVtbl { 1181 BEGIN_INTERFACE 1182 1183 /*** IUnknown methods ***/ 1184 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1185 IApplicationGatewayServices *This, 1186 REFIID riid, 1187 void **ppvObject); 1188 1189 ULONG (STDMETHODCALLTYPE *AddRef)( 1190 IApplicationGatewayServices *This); 1191 1192 ULONG (STDMETHODCALLTYPE *Release)( 1193 IApplicationGatewayServices *This); 1194 1195 /*** IApplicationGatewayServices methods ***/ 1196 HRESULT (STDMETHODCALLTYPE *CreatePrimaryControlChannel)( 1197 IApplicationGatewayServices *This, 1198 ULONG uAdapterIndex, 1199 ALG_PROTOCOL eProtocol, 1200 USHORT usPortToCapture, 1201 ALG_CAPTURE eCaptureType, 1202 WINBOOL fCaptureInbound, 1203 ULONG ulListenAddress, 1204 USHORT usListenPort, 1205 IPrimaryControlChannel **ppIControlChannel); 1206 1207 HRESULT (STDMETHODCALLTYPE *CreateSecondaryControlChannel)( 1208 IApplicationGatewayServices *This, 1209 ALG_PROTOCOL eProtocol, 1210 ULONG ulPrivateAddress, 1211 USHORT usPrivatePort, 1212 ULONG ulPublicAddress, 1213 USHORT usPublicPort, 1214 ULONG ulRemoteAddress, 1215 USHORT usRemotePort, 1216 ULONG ulListenAddress, 1217 USHORT usListenPort, 1218 ALG_DIRECTION eDirection, 1219 WINBOOL fPersistent, 1220 ISecondaryControlChannel **ppControlChannel); 1221 1222 HRESULT (STDMETHODCALLTYPE *GetBestSourceAddressForDestinationAddress)( 1223 IApplicationGatewayServices *This, 1224 ULONG ulDstAddress, 1225 WINBOOL fDemandDial, 1226 ULONG *pulBestSrcAddress); 1227 1228 HRESULT (STDMETHODCALLTYPE *PrepareProxyConnection)( 1229 IApplicationGatewayServices *This, 1230 ALG_PROTOCOL eProtocol, 1231 ULONG ulSrcAddress, 1232 USHORT usSrcPort, 1233 ULONG ulDstAddress, 1234 USHORT usDstPort, 1235 WINBOOL fNoTimeout, 1236 IPendingProxyConnection **ppPendingConnection); 1237 1238 HRESULT (STDMETHODCALLTYPE *PrepareSourceModifiedProxyConnection)( 1239 IApplicationGatewayServices *This, 1240 ALG_PROTOCOL eProtocol, 1241 ULONG ulSrcAddress, 1242 USHORT usSrcPort, 1243 ULONG ulDstAddress, 1244 USHORT usDstPort, 1245 ULONG ulNewSrcAddress, 1246 USHORT usNewSourcePort, 1247 IPendingProxyConnection **ppPendingConnection); 1248 1249 HRESULT (STDMETHODCALLTYPE *CreateDataChannel)( 1250 IApplicationGatewayServices *This, 1251 ALG_PROTOCOL eProtocol, 1252 ULONG ulPrivateAddress, 1253 USHORT usPrivatePort, 1254 ULONG ulPublicAddress, 1255 USHORT usPublicPort, 1256 ULONG ulRemoteAddress, 1257 USHORT usRemotePort, 1258 ALG_DIRECTION eDirection, 1259 ALG_NOTIFICATION eDesiredNotification, 1260 WINBOOL fNoTimeout, 1261 IDataChannel **ppDataChannel); 1262 1263 HRESULT (STDMETHODCALLTYPE *CreatePersistentDataChannel)( 1264 IApplicationGatewayServices *This, 1265 ALG_PROTOCOL eProtocol, 1266 ULONG ulPrivateAddress, 1267 USHORT usPrivatePort, 1268 ULONG ulPublicAddress, 1269 USHORT usPublicPort, 1270 ULONG ulRemoteAddress, 1271 USHORT usRemotePort, 1272 ALG_DIRECTION eDirection, 1273 IPersistentDataChannel **ppIPersistentDataChannel); 1274 1275 HRESULT (STDMETHODCALLTYPE *ReservePort)( 1276 IApplicationGatewayServices *This, 1277 USHORT usPortCount, 1278 USHORT *pusReservedPort); 1279 1280 HRESULT (STDMETHODCALLTYPE *ReleaseReservedPort)( 1281 IApplicationGatewayServices *This, 1282 USHORT usReservedPortBase, 1283 USHORT usPortCount); 1284 1285 HRESULT (STDMETHODCALLTYPE *EnumerateAdapters)( 1286 IApplicationGatewayServices *This, 1287 IEnumAdapterInfo **ppIEnumAdapterInfo); 1288 1289 HRESULT (STDMETHODCALLTYPE *StartAdapterNotifications)( 1290 IApplicationGatewayServices *This, 1291 IAdapterNotificationSink *pSink, 1292 DWORD *pdwCookie); 1293 1294 HRESULT (STDMETHODCALLTYPE *StopAdapterNotifications)( 1295 IApplicationGatewayServices *This, 1296 DWORD dwCookieOfSink); 1297 1298 HRESULT (STDMETHODCALLTYPE *LookupAdapterPortMapping)( 1299 IApplicationGatewayServices *This, 1300 ULONG ulAdapterIndex, 1301 UCHAR Protocol, 1302 ULONG ulDestinationAddress, 1303 USHORT usDestinationPort, 1304 ULONG *pulRemapAddress, 1305 USHORT *pusRemapPort); 1306 1307 END_INTERFACE 1308 } IApplicationGatewayServicesVtbl; 1309 1310 interface IApplicationGatewayServices { 1311 CONST_VTBL IApplicationGatewayServicesVtbl* lpVtbl; 1312 }; 1313 1314 #ifdef COBJMACROS 1315 #ifndef WIDL_C_INLINE_WRAPPERS 1316 /*** IUnknown methods ***/ 1317 #define IApplicationGatewayServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1318 #define IApplicationGatewayServices_AddRef(This) (This)->lpVtbl->AddRef(This) 1319 #define IApplicationGatewayServices_Release(This) (This)->lpVtbl->Release(This) 1320 /*** IApplicationGatewayServices methods ***/ 1321 #define IApplicationGatewayServices_CreatePrimaryControlChannel(This,uAdapterIndex,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel) (This)->lpVtbl->CreatePrimaryControlChannel(This,uAdapterIndex,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel) 1322 #define IApplicationGatewayServices_CreateSecondaryControlChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,ulListenAddress,usListenPort,eDirection,fPersistent,ppControlChannel) (This)->lpVtbl->CreateSecondaryControlChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,ulListenAddress,usListenPort,eDirection,fPersistent,ppControlChannel) 1323 #define IApplicationGatewayServices_GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress) (This)->lpVtbl->GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress) 1324 #define IApplicationGatewayServices_PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection) (This)->lpVtbl->PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection) 1325 #define IApplicationGatewayServices_PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection) (This)->lpVtbl->PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection) 1326 #define IApplicationGatewayServices_CreateDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,eDesiredNotification,fNoTimeout,ppDataChannel) (This)->lpVtbl->CreateDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,eDesiredNotification,fNoTimeout,ppDataChannel) 1327 #define IApplicationGatewayServices_CreatePersistentDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,ppIPersistentDataChannel) (This)->lpVtbl->CreatePersistentDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,ppIPersistentDataChannel) 1328 #define IApplicationGatewayServices_ReservePort(This,usPortCount,pusReservedPort) (This)->lpVtbl->ReservePort(This,usPortCount,pusReservedPort) 1329 #define IApplicationGatewayServices_ReleaseReservedPort(This,usReservedPortBase,usPortCount) (This)->lpVtbl->ReleaseReservedPort(This,usReservedPortBase,usPortCount) 1330 #define IApplicationGatewayServices_EnumerateAdapters(This,ppIEnumAdapterInfo) (This)->lpVtbl->EnumerateAdapters(This,ppIEnumAdapterInfo) 1331 #define IApplicationGatewayServices_StartAdapterNotifications(This,pSink,pdwCookie) (This)->lpVtbl->StartAdapterNotifications(This,pSink,pdwCookie) 1332 #define IApplicationGatewayServices_StopAdapterNotifications(This,dwCookieOfSink) (This)->lpVtbl->StopAdapterNotifications(This,dwCookieOfSink) 1333 #define IApplicationGatewayServices_LookupAdapterPortMapping(This,ulAdapterIndex,Protocol,ulDestinationAddress,usDestinationPort,pulRemapAddress,pusRemapPort) (This)->lpVtbl->LookupAdapterPortMapping(This,ulAdapterIndex,Protocol,ulDestinationAddress,usDestinationPort,pulRemapAddress,pusRemapPort) 1334 #else 1335 /*** IUnknown methods ***/ 1336 static FORCEINLINE HRESULT IApplicationGatewayServices_QueryInterface(IApplicationGatewayServices* This,REFIID riid,void **ppvObject) { 1337 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1338 } 1339 static FORCEINLINE ULONG IApplicationGatewayServices_AddRef(IApplicationGatewayServices* This) { 1340 return This->lpVtbl->AddRef(This); 1341 } 1342 static FORCEINLINE ULONG IApplicationGatewayServices_Release(IApplicationGatewayServices* This) { 1343 return This->lpVtbl->Release(This); 1344 } 1345 /*** IApplicationGatewayServices methods ***/ 1346 static FORCEINLINE HRESULT IApplicationGatewayServices_CreatePrimaryControlChannel(IApplicationGatewayServices* This,ULONG uAdapterIndex,ALG_PROTOCOL eProtocol,USHORT usPortToCapture,ALG_CAPTURE eCaptureType,WINBOOL fCaptureInbound,ULONG ulListenAddress,USHORT usListenPort,IPrimaryControlChannel **ppIControlChannel) { 1347 return This->lpVtbl->CreatePrimaryControlChannel(This,uAdapterIndex,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel); 1348 } 1349 static FORCEINLINE HRESULT IApplicationGatewayServices_CreateSecondaryControlChannel(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulPrivateAddress,USHORT usPrivatePort,ULONG ulPublicAddress,USHORT usPublicPort,ULONG ulRemoteAddress,USHORT usRemotePort,ULONG ulListenAddress,USHORT usListenPort,ALG_DIRECTION eDirection,WINBOOL fPersistent,ISecondaryControlChannel **ppControlChannel) { 1350 return This->lpVtbl->CreateSecondaryControlChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,ulListenAddress,usListenPort,eDirection,fPersistent,ppControlChannel); 1351 } 1352 static FORCEINLINE HRESULT IApplicationGatewayServices_GetBestSourceAddressForDestinationAddress(IApplicationGatewayServices* This,ULONG ulDstAddress,WINBOOL fDemandDial,ULONG *pulBestSrcAddress) { 1353 return This->lpVtbl->GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress); 1354 } 1355 static FORCEINLINE HRESULT IApplicationGatewayServices_PrepareProxyConnection(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulSrcAddress,USHORT usSrcPort,ULONG ulDstAddress,USHORT usDstPort,WINBOOL fNoTimeout,IPendingProxyConnection **ppPendingConnection) { 1356 return This->lpVtbl->PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection); 1357 } 1358 static FORCEINLINE HRESULT IApplicationGatewayServices_PrepareSourceModifiedProxyConnection(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulSrcAddress,USHORT usSrcPort,ULONG ulDstAddress,USHORT usDstPort,ULONG ulNewSrcAddress,USHORT usNewSourcePort,IPendingProxyConnection **ppPendingConnection) { 1359 return This->lpVtbl->PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection); 1360 } 1361 static FORCEINLINE HRESULT IApplicationGatewayServices_CreateDataChannel(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulPrivateAddress,USHORT usPrivatePort,ULONG ulPublicAddress,USHORT usPublicPort,ULONG ulRemoteAddress,USHORT usRemotePort,ALG_DIRECTION eDirection,ALG_NOTIFICATION eDesiredNotification,WINBOOL fNoTimeout,IDataChannel **ppDataChannel) { 1362 return This->lpVtbl->CreateDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,eDesiredNotification,fNoTimeout,ppDataChannel); 1363 } 1364 static FORCEINLINE HRESULT IApplicationGatewayServices_CreatePersistentDataChannel(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulPrivateAddress,USHORT usPrivatePort,ULONG ulPublicAddress,USHORT usPublicPort,ULONG ulRemoteAddress,USHORT usRemotePort,ALG_DIRECTION eDirection,IPersistentDataChannel **ppIPersistentDataChannel) { 1365 return This->lpVtbl->CreatePersistentDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,ppIPersistentDataChannel); 1366 } 1367 static FORCEINLINE HRESULT IApplicationGatewayServices_ReservePort(IApplicationGatewayServices* This,USHORT usPortCount,USHORT *pusReservedPort) { 1368 return This->lpVtbl->ReservePort(This,usPortCount,pusReservedPort); 1369 } 1370 static FORCEINLINE HRESULT IApplicationGatewayServices_ReleaseReservedPort(IApplicationGatewayServices* This,USHORT usReservedPortBase,USHORT usPortCount) { 1371 return This->lpVtbl->ReleaseReservedPort(This,usReservedPortBase,usPortCount); 1372 } 1373 static FORCEINLINE HRESULT IApplicationGatewayServices_EnumerateAdapters(IApplicationGatewayServices* This,IEnumAdapterInfo **ppIEnumAdapterInfo) { 1374 return This->lpVtbl->EnumerateAdapters(This,ppIEnumAdapterInfo); 1375 } 1376 static FORCEINLINE HRESULT IApplicationGatewayServices_StartAdapterNotifications(IApplicationGatewayServices* This,IAdapterNotificationSink *pSink,DWORD *pdwCookie) { 1377 return This->lpVtbl->StartAdapterNotifications(This,pSink,pdwCookie); 1378 } 1379 static FORCEINLINE HRESULT IApplicationGatewayServices_StopAdapterNotifications(IApplicationGatewayServices* This,DWORD dwCookieOfSink) { 1380 return This->lpVtbl->StopAdapterNotifications(This,dwCookieOfSink); 1381 } 1382 static FORCEINLINE HRESULT IApplicationGatewayServices_LookupAdapterPortMapping(IApplicationGatewayServices* This,ULONG ulAdapterIndex,UCHAR Protocol,ULONG ulDestinationAddress,USHORT usDestinationPort,ULONG *pulRemapAddress,USHORT *pusRemapPort) { 1383 return This->lpVtbl->LookupAdapterPortMapping(This,ulAdapterIndex,Protocol,ulDestinationAddress,usDestinationPort,pulRemapAddress,pusRemapPort); 1384 } 1385 #endif 1386 #endif 1387 1388 #endif 1389 1390 1391 #endif /* __IApplicationGatewayServices_INTERFACE_DEFINED__ */ 1392 1393 /***************************************************************************** 1394 * IApplicationGateway interface 1395 */ 1396 #ifndef __IApplicationGateway_INTERFACE_DEFINED__ 1397 #define __IApplicationGateway_INTERFACE_DEFINED__ 1398 1399 DEFINE_GUID(IID_IApplicationGateway, 0x5134842b, 0xfdce, 0x485d, 0x93,0xcd, 0xde,0x16,0x40,0x64,0x3b,0xbe); 1400 #if defined(__cplusplus) && !defined(CINTERFACE) 1401 MIDL_INTERFACE("5134842b-fdce-485d-93cd-de1640643bbe") 1402 IApplicationGateway : public IUnknown 1403 { 1404 virtual HRESULT STDMETHODCALLTYPE Initialize( 1405 IApplicationGatewayServices *pAlgServices) = 0; 1406 1407 virtual HRESULT STDMETHODCALLTYPE Stop( 1408 ) = 0; 1409 1410 }; 1411 #ifdef __CRT_UUID_DECL 1412 __CRT_UUID_DECL(IApplicationGateway, 0x5134842b, 0xfdce, 0x485d, 0x93,0xcd, 0xde,0x16,0x40,0x64,0x3b,0xbe) 1413 #endif 1414 #else 1415 typedef struct IApplicationGatewayVtbl { 1416 BEGIN_INTERFACE 1417 1418 /*** IUnknown methods ***/ 1419 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1420 IApplicationGateway *This, 1421 REFIID riid, 1422 void **ppvObject); 1423 1424 ULONG (STDMETHODCALLTYPE *AddRef)( 1425 IApplicationGateway *This); 1426 1427 ULONG (STDMETHODCALLTYPE *Release)( 1428 IApplicationGateway *This); 1429 1430 /*** IApplicationGateway methods ***/ 1431 HRESULT (STDMETHODCALLTYPE *Initialize)( 1432 IApplicationGateway *This, 1433 IApplicationGatewayServices *pAlgServices); 1434 1435 HRESULT (STDMETHODCALLTYPE *Stop)( 1436 IApplicationGateway *This); 1437 1438 END_INTERFACE 1439 } IApplicationGatewayVtbl; 1440 1441 interface IApplicationGateway { 1442 CONST_VTBL IApplicationGatewayVtbl* lpVtbl; 1443 }; 1444 1445 #ifdef COBJMACROS 1446 #ifndef WIDL_C_INLINE_WRAPPERS 1447 /*** IUnknown methods ***/ 1448 #define IApplicationGateway_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1449 #define IApplicationGateway_AddRef(This) (This)->lpVtbl->AddRef(This) 1450 #define IApplicationGateway_Release(This) (This)->lpVtbl->Release(This) 1451 /*** IApplicationGateway methods ***/ 1452 #define IApplicationGateway_Initialize(This,pAlgServices) (This)->lpVtbl->Initialize(This,pAlgServices) 1453 #define IApplicationGateway_Stop(This) (This)->lpVtbl->Stop(This) 1454 #else 1455 /*** IUnknown methods ***/ 1456 static FORCEINLINE HRESULT IApplicationGateway_QueryInterface(IApplicationGateway* This,REFIID riid,void **ppvObject) { 1457 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1458 } 1459 static FORCEINLINE ULONG IApplicationGateway_AddRef(IApplicationGateway* This) { 1460 return This->lpVtbl->AddRef(This); 1461 } 1462 static FORCEINLINE ULONG IApplicationGateway_Release(IApplicationGateway* This) { 1463 return This->lpVtbl->Release(This); 1464 } 1465 /*** IApplicationGateway methods ***/ 1466 static FORCEINLINE HRESULT IApplicationGateway_Initialize(IApplicationGateway* This,IApplicationGatewayServices *pAlgServices) { 1467 return This->lpVtbl->Initialize(This,pAlgServices); 1468 } 1469 static FORCEINLINE HRESULT IApplicationGateway_Stop(IApplicationGateway* This) { 1470 return This->lpVtbl->Stop(This); 1471 } 1472 #endif 1473 #endif 1474 1475 #endif 1476 1477 1478 #endif /* __IApplicationGateway_INTERFACE_DEFINED__ */ 1479 1480 1481 DEFINE_GUID(LIBID_ALGLib, 0xb6d1d098, 0xe235, 0x4b99, 0xba,0x98, 0x7c,0x62,0x4f,0xd8,0x75,0xdb); 1482 1483 /***************************************************************************** 1484 * ApplicationGatewayServices coclass 1485 */ 1486 1487 DEFINE_GUID(CLSID_ApplicationGatewayServices, 0xf8ade1d3, 0x49df, 0x4b75, 0x90,0x05, 0xef,0x95,0x08,0xe6,0xa3,0x37); 1488 1489 #ifdef __cplusplus 1490 class DECLSPEC_UUID("f8ade1d3-49df-4b75-9005-ef9508e6a337") ApplicationGatewayServices; 1491 #ifdef __CRT_UUID_DECL 1492 __CRT_UUID_DECL(ApplicationGatewayServices, 0xf8ade1d3, 0x49df, 0x4b75, 0x90,0x05, 0xef,0x95,0x08,0xe6,0xa3,0x37) 1493 #endif 1494 #endif 1495 1496 /***************************************************************************** 1497 * PrimaryControlChannel coclass 1498 */ 1499 1500 DEFINE_GUID(CLSID_PrimaryControlChannel, 0x3ceb5509, 0xc1cd, 0x432f, 0x9d,0x8f, 0x65,0xd1,0xe2,0x86,0xaa,0x80); 1501 1502 #ifdef __cplusplus 1503 class DECLSPEC_UUID("3ceb5509-c1cd-432f-9d8f-65d1e286aa80") PrimaryControlChannel; 1504 #ifdef __CRT_UUID_DECL 1505 __CRT_UUID_DECL(PrimaryControlChannel, 0x3ceb5509, 0xc1cd, 0x432f, 0x9d,0x8f, 0x65,0xd1,0xe2,0x86,0xaa,0x80) 1506 #endif 1507 #endif 1508 1509 /***************************************************************************** 1510 * SecondaryControlChannel coclass 1511 */ 1512 1513 DEFINE_GUID(CLSID_SecondaryControlChannel, 0x7b3181a0, 0xc92f, 0x4567, 0xb0,0xfa, 0xcd,0x9a,0x10,0xec,0xd7,0xd1); 1514 1515 #ifdef __cplusplus 1516 class DECLSPEC_UUID("7b3181a0-c92f-4567-b0fa-cd9a10ecd7d1") SecondaryControlChannel; 1517 #ifdef __CRT_UUID_DECL 1518 __CRT_UUID_DECL(SecondaryControlChannel, 0x7b3181a0, 0xc92f, 0x4567, 0xb0,0xfa, 0xcd,0x9a,0x10,0xec,0xd7,0xd1) 1519 #endif 1520 #endif 1521 1522 /***************************************************************************** 1523 * AdapterInfo coclass 1524 */ 1525 1526 DEFINE_GUID(CLSID_AdapterInfo, 0x6f9942c9, 0xc1b1, 0x4ab5, 0x93,0xda, 0x60,0x58,0x99,0x1d,0xc8,0xf3); 1527 1528 #ifdef __cplusplus 1529 class DECLSPEC_UUID("6f9942c9-c1b1-4ab5-93da-6058991dc8f3") AdapterInfo; 1530 #ifdef __CRT_UUID_DECL 1531 __CRT_UUID_DECL(AdapterInfo, 0x6f9942c9, 0xc1b1, 0x4ab5, 0x93,0xda, 0x60,0x58,0x99,0x1d,0xc8,0xf3) 1532 #endif 1533 #endif 1534 1535 /***************************************************************************** 1536 * EnumAdapterInfo coclass 1537 */ 1538 1539 DEFINE_GUID(CLSID_EnumAdapterInfo, 0x6f9942ca, 0xc1b1, 0x4ab5, 0x93,0xda, 0x60,0x58,0x99,0x1d,0xc8,0xf3); 1540 1541 #ifdef __cplusplus 1542 class DECLSPEC_UUID("6f9942ca-c1b1-4ab5-93da-6058991dc8f3") EnumAdapterInfo; 1543 #ifdef __CRT_UUID_DECL 1544 __CRT_UUID_DECL(EnumAdapterInfo, 0x6f9942ca, 0xc1b1, 0x4ab5, 0x93,0xda, 0x60,0x58,0x99,0x1d,0xc8,0xf3) 1545 #endif 1546 #endif 1547 1548 /***************************************************************************** 1549 * PendingProxyConnection coclass 1550 */ 1551 1552 DEFINE_GUID(CLSID_PendingProxyConnection, 0xd8a68e5e, 0x2b37, 0x426c, 0xa3,0x29, 0xc1,0x17,0xc1,0x4c,0x42,0x9e); 1553 1554 #ifdef __cplusplus 1555 class DECLSPEC_UUID("d8a68e5e-2b37-426c-a329-c117c14c429e") PendingProxyConnection; 1556 #ifdef __CRT_UUID_DECL 1557 __CRT_UUID_DECL(PendingProxyConnection, 0xd8a68e5e, 0x2b37, 0x426c, 0xa3,0x29, 0xc1,0x17,0xc1,0x4c,0x42,0x9e) 1558 #endif 1559 #endif 1560 1561 /***************************************************************************** 1562 * DataChannel coclass 1563 */ 1564 1565 DEFINE_GUID(CLSID_DataChannel, 0xbbb36f15, 0x408d, 0x4056, 0x8c,0x27, 0x92,0x08,0x43,0xd4,0x0b,0xe5); 1566 1567 #ifdef __cplusplus 1568 class DECLSPEC_UUID("bbb36f15-408d-4056-8c27-920843d40be5") DataChannel; 1569 #ifdef __CRT_UUID_DECL 1570 __CRT_UUID_DECL(DataChannel, 0xbbb36f15, 0x408d, 0x4056, 0x8c,0x27, 0x92,0x08,0x43,0xd4,0x0b,0xe5) 1571 #endif 1572 #endif 1573 1574 /***************************************************************************** 1575 * PersistentDataChannel coclass 1576 */ 1577 1578 DEFINE_GUID(CLSID_PersistentDataChannel, 0xbc9b54ab, 0x7883, 0x4c13, 0x90,0x9f, 0x03,0x3d,0x03,0x26,0x79,0x90); 1579 1580 #ifdef __cplusplus 1581 class DECLSPEC_UUID("bc9b54ab-7883-4c13-909f-033d03267990") PersistentDataChannel; 1582 #ifdef __CRT_UUID_DECL 1583 __CRT_UUID_DECL(PersistentDataChannel, 0xbc9b54ab, 0x7883, 0x4c13, 0x90,0x9f, 0x03,0x3d,0x03,0x26,0x79,0x90) 1584 #endif 1585 #endif 1586 1587 #endif 1588 /* Begin additional prototypes for all interfaces */ 1589 1590 1591 /* End additional prototypes */ 1592 1593 #ifdef __cplusplus 1594 } 1595 #endif 1596 1597 #endif /* __alg_h__ */ 1598