xpmgr/BuildTools/Include/alg.h

1616 lines
51 KiB
C++

/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0555 */
/* Compiler settings for alg.idl:
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
protocol : dce , ms_ext, c_ext, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __alg_h__
#define __alg_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IAdapterInfo_FWD_DEFINED__
#define __IAdapterInfo_FWD_DEFINED__
typedef interface IAdapterInfo IAdapterInfo;
#endif /* __IAdapterInfo_FWD_DEFINED__ */
#ifndef __IPendingProxyConnection_FWD_DEFINED__
#define __IPendingProxyConnection_FWD_DEFINED__
typedef interface IPendingProxyConnection IPendingProxyConnection;
#endif /* __IPendingProxyConnection_FWD_DEFINED__ */
#ifndef __IDataChannel_FWD_DEFINED__
#define __IDataChannel_FWD_DEFINED__
typedef interface IDataChannel IDataChannel;
#endif /* __IDataChannel_FWD_DEFINED__ */
#ifndef __IPersistentDataChannel_FWD_DEFINED__
#define __IPersistentDataChannel_FWD_DEFINED__
typedef interface IPersistentDataChannel IPersistentDataChannel;
#endif /* __IPersistentDataChannel_FWD_DEFINED__ */
#ifndef __IPrimaryControlChannel_FWD_DEFINED__
#define __IPrimaryControlChannel_FWD_DEFINED__
typedef interface IPrimaryControlChannel IPrimaryControlChannel;
#endif /* __IPrimaryControlChannel_FWD_DEFINED__ */
#ifndef __ISecondaryControlChannel_FWD_DEFINED__
#define __ISecondaryControlChannel_FWD_DEFINED__
typedef interface ISecondaryControlChannel ISecondaryControlChannel;
#endif /* __ISecondaryControlChannel_FWD_DEFINED__ */
#ifndef __IEnumAdapterInfo_FWD_DEFINED__
#define __IEnumAdapterInfo_FWD_DEFINED__
typedef interface IEnumAdapterInfo IEnumAdapterInfo;
#endif /* __IEnumAdapterInfo_FWD_DEFINED__ */
#ifndef __IAdapterNotificationSink_FWD_DEFINED__
#define __IAdapterNotificationSink_FWD_DEFINED__
typedef interface IAdapterNotificationSink IAdapterNotificationSink;
#endif /* __IAdapterNotificationSink_FWD_DEFINED__ */
#ifndef __IApplicationGatewayServices_FWD_DEFINED__
#define __IApplicationGatewayServices_FWD_DEFINED__
typedef interface IApplicationGatewayServices IApplicationGatewayServices;
#endif /* __IApplicationGatewayServices_FWD_DEFINED__ */
#ifndef __IApplicationGateway_FWD_DEFINED__
#define __IApplicationGateway_FWD_DEFINED__
typedef interface IApplicationGateway IApplicationGateway;
#endif /* __IApplicationGateway_FWD_DEFINED__ */
#ifndef __ApplicationGatewayServices_FWD_DEFINED__
#define __ApplicationGatewayServices_FWD_DEFINED__
#ifdef __cplusplus
typedef class ApplicationGatewayServices ApplicationGatewayServices;
#else
typedef struct ApplicationGatewayServices ApplicationGatewayServices;
#endif /* __cplusplus */
#endif /* __ApplicationGatewayServices_FWD_DEFINED__ */
#ifndef __PrimaryControlChannel_FWD_DEFINED__
#define __PrimaryControlChannel_FWD_DEFINED__
#ifdef __cplusplus
typedef class PrimaryControlChannel PrimaryControlChannel;
#else
typedef struct PrimaryControlChannel PrimaryControlChannel;
#endif /* __cplusplus */
#endif /* __PrimaryControlChannel_FWD_DEFINED__ */
#ifndef __SecondaryControlChannel_FWD_DEFINED__
#define __SecondaryControlChannel_FWD_DEFINED__
#ifdef __cplusplus
typedef class SecondaryControlChannel SecondaryControlChannel;
#else
typedef struct SecondaryControlChannel SecondaryControlChannel;
#endif /* __cplusplus */
#endif /* __SecondaryControlChannel_FWD_DEFINED__ */
#ifndef __AdapterInfo_FWD_DEFINED__
#define __AdapterInfo_FWD_DEFINED__
#ifdef __cplusplus
typedef class AdapterInfo AdapterInfo;
#else
typedef struct AdapterInfo AdapterInfo;
#endif /* __cplusplus */
#endif /* __AdapterInfo_FWD_DEFINED__ */
#ifndef __EnumAdapterInfo_FWD_DEFINED__
#define __EnumAdapterInfo_FWD_DEFINED__
#ifdef __cplusplus
typedef class EnumAdapterInfo EnumAdapterInfo;
#else
typedef struct EnumAdapterInfo EnumAdapterInfo;
#endif /* __cplusplus */
#endif /* __EnumAdapterInfo_FWD_DEFINED__ */
#ifndef __PendingProxyConnection_FWD_DEFINED__
#define __PendingProxyConnection_FWD_DEFINED__
#ifdef __cplusplus
typedef class PendingProxyConnection PendingProxyConnection;
#else
typedef struct PendingProxyConnection PendingProxyConnection;
#endif /* __cplusplus */
#endif /* __PendingProxyConnection_FWD_DEFINED__ */
#ifndef __DataChannel_FWD_DEFINED__
#define __DataChannel_FWD_DEFINED__
#ifdef __cplusplus
typedef class DataChannel DataChannel;
#else
typedef struct DataChannel DataChannel;
#endif /* __cplusplus */
#endif /* __DataChannel_FWD_DEFINED__ */
#ifndef __PersistentDataChannel_FWD_DEFINED__
#define __PersistentDataChannel_FWD_DEFINED__
#ifdef __cplusplus
typedef class PersistentDataChannel PersistentDataChannel;
#else
typedef struct PersistentDataChannel PersistentDataChannel;
#endif /* __cplusplus */
#endif /* __PersistentDataChannel_FWD_DEFINED__ */
/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"
#ifdef __cplusplus
extern "C"{
#endif
/* interface __MIDL_itf_alg_0000_0000 */
/* [local] */
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992-2001.
//
//--------------------------------------------------------------------------
// MODULE: alg.h
//
#define ALG_MAXIMUM_PORT_RANGE_SIZE ( 10 )
typedef
enum _ALG_PROTOCOL
{ eALG_TCP = 0x1,
eALG_UDP = 0x2
} ALG_PROTOCOL;
typedef
enum _ALG_CAPTURE
{ eALG_SOURCE_CAPTURE = 0x1,
eALG_DESTINATION_CAPTURE = 0x2
} ALG_CAPTURE;
typedef
enum _ALG_DIRECTION
{ eALG_INBOUND = 0x1,
eALG_OUTBOUND = 0x2,
eALG_BOTH = 0x3
} ALG_DIRECTION;
typedef
enum _ALG_ADAPTER_TYPE
{ eALG_PRIVATE = 0x1,
eALG_BOUNDARY = 0x2,
eALG_FIREWALLED = 0x4
} ALG_ADAPTER_TYPE;
typedef
enum _ALG_NOTIFICATION
{ eALG_NONE = 0,
eALG_SESSION_CREATION = 0x1,
eALG_SESSION_DELETION = 0x2,
eALG_SESSION_BOTH = 0x3
} ALG_NOTIFICATION;
typedef struct _ALG_PRIMARY_CHANNEL_PROPERTIES
{
ALG_PROTOCOL eProtocol;
USHORT usCapturePort;
ALG_CAPTURE eCaptureType;
BOOL fCaptureInbound;
ULONG ulListeningAddress;
USHORT usListeningPort;
ULONG ulAdapterIndex;
} ALG_PRIMARY_CHANNEL_PROPERTIES;
typedef struct _ALG_SECONDARY_CHANNEL_PROPERTIES
{
ALG_PROTOCOL eProtocol;
ULONG ulPrivateAddress;
USHORT usPrivatePort;
ULONG ulPublicAddress;
USHORT usPublicPort;
ULONG ulRemoteAddress;
USHORT usRemotePort;
ULONG ulListenAddress;
USHORT usListenPort;
ALG_DIRECTION eDirection;
BOOL fPersistent;
} ALG_SECONDARY_CHANNEL_PROPERTIES;
typedef struct _ALG_DATA_CHANNEL_PROPERTIES
{
ALG_PROTOCOL eProtocol;
ULONG ulPrivateAddress;
USHORT usPrivatePort;
ULONG ulPublicAddress;
USHORT usPublicPort;
ULONG ulRemoteAddress;
USHORT usRemotePort;
ALG_DIRECTION eDirection;
ALG_NOTIFICATION eDesiredNotification;
} ALG_DATA_CHANNEL_PROPERTIES;
typedef struct _ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES
{
ALG_PROTOCOL eProtocol;
ULONG ulPrivateAddress;
USHORT usPrivatePort;
ULONG ulPublicAddress;
USHORT usPublicPort;
ULONG ulRemoteAddress;
USHORT usRemotePort;
ALG_DIRECTION eDirection;
} ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES;
extern RPC_IF_HANDLE __MIDL_itf_alg_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_alg_0000_0000_v0_0_s_ifspec;
#ifndef __IAdapterInfo_INTERFACE_DEFINED__
#define __IAdapterInfo_INTERFACE_DEFINED__
/* interface IAdapterInfo */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IAdapterInfo;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("480BF94A-09FD-4F8A-A3E0-B0700282D84D")
IAdapterInfo : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetAdapterIndex(
/* [out] */ __RPC__out ULONG *pulIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAdapterType(
/* [out] */ __RPC__out ALG_ADAPTER_TYPE *pAdapterType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAdapterAddresses(
/* [out] */ __RPC__out ULONG *pulAddressCount,
/* [out] */ __RPC__deref_out_opt ULONG **prgAddresses) = 0;
};
#else /* C style interface */
typedef struct IAdapterInfoVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IAdapterInfo * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IAdapterInfo * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IAdapterInfo * This);
HRESULT ( STDMETHODCALLTYPE *GetAdapterIndex )(
__RPC__in IAdapterInfo * This,
/* [out] */ __RPC__out ULONG *pulIndex);
HRESULT ( STDMETHODCALLTYPE *GetAdapterType )(
__RPC__in IAdapterInfo * This,
/* [out] */ __RPC__out ALG_ADAPTER_TYPE *pAdapterType);
HRESULT ( STDMETHODCALLTYPE *GetAdapterAddresses )(
__RPC__in IAdapterInfo * This,
/* [out] */ __RPC__out ULONG *pulAddressCount,
/* [out] */ __RPC__deref_out_opt ULONG **prgAddresses);
END_INTERFACE
} IAdapterInfoVtbl;
interface IAdapterInfo
{
CONST_VTBL struct IAdapterInfoVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IAdapterInfo_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IAdapterInfo_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IAdapterInfo_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IAdapterInfo_GetAdapterIndex(This,pulIndex) \
( (This)->lpVtbl -> GetAdapterIndex(This,pulIndex) )
#define IAdapterInfo_GetAdapterType(This,pAdapterType) \
( (This)->lpVtbl -> GetAdapterType(This,pAdapterType) )
#define IAdapterInfo_GetAdapterAddresses(This,pulAddressCount,prgAddresses) \
( (This)->lpVtbl -> GetAdapterAddresses(This,pulAddressCount,prgAddresses) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IAdapterInfo_INTERFACE_DEFINED__ */
#ifndef __IPendingProxyConnection_INTERFACE_DEFINED__
#define __IPendingProxyConnection_INTERFACE_DEFINED__
/* interface IPendingProxyConnection */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IPendingProxyConnection;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("B68E5043-3E3D-4CC2-B9C1-5F8F88FEE81C")
IPendingProxyConnection : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
};
#else /* C style interface */
typedef struct IPendingProxyConnectionVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IPendingProxyConnection * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IPendingProxyConnection * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IPendingProxyConnection * This);
HRESULT ( STDMETHODCALLTYPE *Cancel )(
__RPC__in IPendingProxyConnection * This);
END_INTERFACE
} IPendingProxyConnectionVtbl;
interface IPendingProxyConnection
{
CONST_VTBL struct IPendingProxyConnectionVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IPendingProxyConnection_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IPendingProxyConnection_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IPendingProxyConnection_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IPendingProxyConnection_Cancel(This) \
( (This)->lpVtbl -> Cancel(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IPendingProxyConnection_INTERFACE_DEFINED__ */
#ifndef __IDataChannel_INTERFACE_DEFINED__
#define __IDataChannel_INTERFACE_DEFINED__
/* interface IDataChannel */
/* [local][unique][uuid][object] */
EXTERN_C const IID IID_IDataChannel;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("AD42D12A-4AD0-4856-919E-E854C91D1856")
IDataChannel : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
/* [out] */ ALG_DATA_CHANNEL_PROPERTIES **ppProperties) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSessionCreationEventHandle(
/* [out] */ HANDLE *pHandle) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSessionDeletionEventHandle(
/* [out] */ HANDLE *pHandle) = 0;
};
#else /* C style interface */
typedef struct IDataChannelVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDataChannel * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IDataChannel * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IDataChannel * This);
HRESULT ( STDMETHODCALLTYPE *Cancel )(
IDataChannel * This);
HRESULT ( STDMETHODCALLTYPE *GetChannelProperties )(
IDataChannel * This,
/* [out] */ ALG_DATA_CHANNEL_PROPERTIES **ppProperties);
HRESULT ( STDMETHODCALLTYPE *GetSessionCreationEventHandle )(
IDataChannel * This,
/* [out] */ HANDLE *pHandle);
HRESULT ( STDMETHODCALLTYPE *GetSessionDeletionEventHandle )(
IDataChannel * This,
/* [out] */ HANDLE *pHandle);
END_INTERFACE
} IDataChannelVtbl;
interface IDataChannel
{
CONST_VTBL struct IDataChannelVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IDataChannel_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IDataChannel_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IDataChannel_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IDataChannel_Cancel(This) \
( (This)->lpVtbl -> Cancel(This) )
#define IDataChannel_GetChannelProperties(This,ppProperties) \
( (This)->lpVtbl -> GetChannelProperties(This,ppProperties) )
#define IDataChannel_GetSessionCreationEventHandle(This,pHandle) \
( (This)->lpVtbl -> GetSessionCreationEventHandle(This,pHandle) )
#define IDataChannel_GetSessionDeletionEventHandle(This,pHandle) \
( (This)->lpVtbl -> GetSessionDeletionEventHandle(This,pHandle) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IDataChannel_INTERFACE_DEFINED__ */
#ifndef __IPersistentDataChannel_INTERFACE_DEFINED__
#define __IPersistentDataChannel_INTERFACE_DEFINED__
/* interface IPersistentDataChannel */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IPersistentDataChannel;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("A180E934-D92A-415D-9144-759F8054E8F6")
IPersistentDataChannel : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
/* [out] */ __RPC__deref_out_opt ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties) = 0;
};
#else /* C style interface */
typedef struct IPersistentDataChannelVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IPersistentDataChannel * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IPersistentDataChannel * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IPersistentDataChannel * This);
HRESULT ( STDMETHODCALLTYPE *Cancel )(
__RPC__in IPersistentDataChannel * This);
HRESULT ( STDMETHODCALLTYPE *GetChannelProperties )(
__RPC__in IPersistentDataChannel * This,
/* [out] */ __RPC__deref_out_opt ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties);
END_INTERFACE
} IPersistentDataChannelVtbl;
interface IPersistentDataChannel
{
CONST_VTBL struct IPersistentDataChannelVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IPersistentDataChannel_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IPersistentDataChannel_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IPersistentDataChannel_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IPersistentDataChannel_Cancel(This) \
( (This)->lpVtbl -> Cancel(This) )
#define IPersistentDataChannel_GetChannelProperties(This,ppProperties) \
( (This)->lpVtbl -> GetChannelProperties(This,ppProperties) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IPersistentDataChannel_INTERFACE_DEFINED__ */
#ifndef __IPrimaryControlChannel_INTERFACE_DEFINED__
#define __IPrimaryControlChannel_INTERFACE_DEFINED__
/* interface IPrimaryControlChannel */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IPrimaryControlChannel;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1A2E8B62-9012-4BE6-84AE-32BD66BA657A")
IPrimaryControlChannel : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
/* [out] */ __RPC__deref_out_opt ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOriginalDestinationInformation(
/* [in] */ ULONG ulSourceAddress,
/* [in] */ USHORT usSourcePort,
/* [out] */ __RPC__out ULONG *pulOriginalDestinationAddress,
/* [out] */ __RPC__out USHORT *pusOriginalDestinationPort,
/* [out] */ __RPC__out ULONG *pulRemapDestinationAddress,
/* [out] */ __RPC__out USHORT *pulRemapDestinationPort,
/* [out] */ __RPC__deref_out_opt IAdapterInfo **ppReceiveAdapter) = 0;
};
#else /* C style interface */
typedef struct IPrimaryControlChannelVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IPrimaryControlChannel * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IPrimaryControlChannel * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IPrimaryControlChannel * This);
HRESULT ( STDMETHODCALLTYPE *Cancel )(
__RPC__in IPrimaryControlChannel * This);
HRESULT ( STDMETHODCALLTYPE *GetChannelProperties )(
__RPC__in IPrimaryControlChannel * This,
/* [out] */ __RPC__deref_out_opt ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties);
HRESULT ( STDMETHODCALLTYPE *GetOriginalDestinationInformation )(
__RPC__in IPrimaryControlChannel * This,
/* [in] */ ULONG ulSourceAddress,
/* [in] */ USHORT usSourcePort,
/* [out] */ __RPC__out ULONG *pulOriginalDestinationAddress,
/* [out] */ __RPC__out USHORT *pusOriginalDestinationPort,
/* [out] */ __RPC__out ULONG *pulRemapDestinationAddress,
/* [out] */ __RPC__out USHORT *pulRemapDestinationPort,
/* [out] */ __RPC__deref_out_opt IAdapterInfo **ppReceiveAdapter);
END_INTERFACE
} IPrimaryControlChannelVtbl;
interface IPrimaryControlChannel
{
CONST_VTBL struct IPrimaryControlChannelVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IPrimaryControlChannel_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IPrimaryControlChannel_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IPrimaryControlChannel_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IPrimaryControlChannel_Cancel(This) \
( (This)->lpVtbl -> Cancel(This) )
#define IPrimaryControlChannel_GetChannelProperties(This,ppProperties) \
( (This)->lpVtbl -> GetChannelProperties(This,ppProperties) )
#define IPrimaryControlChannel_GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter) \
( (This)->lpVtbl -> GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IPrimaryControlChannel_INTERFACE_DEFINED__ */
#ifndef __ISecondaryControlChannel_INTERFACE_DEFINED__
#define __ISecondaryControlChannel_INTERFACE_DEFINED__
/* interface ISecondaryControlChannel */
/* [unique][uuid][object] */
EXTERN_C const IID IID_ISecondaryControlChannel;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("A23F9D10-714C-41FE-8471-FFB19BC28454")
ISecondaryControlChannel : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
/* [out] */ __RPC__deref_out_opt ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOriginalDestinationInformation(
/* [in] */ ULONG ulSourceAddress,
/* [in] */ USHORT usSourcePort,
/* [out] */ __RPC__out ULONG *pulOriginalDestinationAddress,
/* [out] */ __RPC__out USHORT *pusOriginalDestinationPort,
/* [out] */ __RPC__deref_out_opt IAdapterInfo **ppReceiveAdapter) = 0;
};
#else /* C style interface */
typedef struct ISecondaryControlChannelVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ISecondaryControlChannel * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ISecondaryControlChannel * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ISecondaryControlChannel * This);
HRESULT ( STDMETHODCALLTYPE *Cancel )(
__RPC__in ISecondaryControlChannel * This);
HRESULT ( STDMETHODCALLTYPE *GetChannelProperties )(
__RPC__in ISecondaryControlChannel * This,
/* [out] */ __RPC__deref_out_opt ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties);
HRESULT ( STDMETHODCALLTYPE *GetOriginalDestinationInformation )(
__RPC__in ISecondaryControlChannel * This,
/* [in] */ ULONG ulSourceAddress,
/* [in] */ USHORT usSourcePort,
/* [out] */ __RPC__out ULONG *pulOriginalDestinationAddress,
/* [out] */ __RPC__out USHORT *pusOriginalDestinationPort,
/* [out] */ __RPC__deref_out_opt IAdapterInfo **ppReceiveAdapter);
END_INTERFACE
} ISecondaryControlChannelVtbl;
interface ISecondaryControlChannel
{
CONST_VTBL struct ISecondaryControlChannelVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ISecondaryControlChannel_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define ISecondaryControlChannel_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define ISecondaryControlChannel_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define ISecondaryControlChannel_Cancel(This) \
( (This)->lpVtbl -> Cancel(This) )
#define ISecondaryControlChannel_GetChannelProperties(This,ppProperties) \
( (This)->lpVtbl -> GetChannelProperties(This,ppProperties) )
#define ISecondaryControlChannel_GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter) \
( (This)->lpVtbl -> GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __ISecondaryControlChannel_INTERFACE_DEFINED__ */
#ifndef __IEnumAdapterInfo_INTERFACE_DEFINED__
#define __IEnumAdapterInfo_INTERFACE_DEFINED__
/* interface IEnumAdapterInfo */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IEnumAdapterInfo;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("A23F9D11-714C-41FE-8471-FFB19BC28454")
IEnumAdapterInfo : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Next(
/* [in] */ ULONG celt,
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pCeltFetched) IAdapterInfo **rgAI,
/* [out] */ __RPC__out ULONG *pCeltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
/* [in] */ ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
/* [out] */ __RPC__deref_out_opt IEnumAdapterInfo **ppEnum) = 0;
};
#else /* C style interface */
typedef struct IEnumAdapterInfoVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IEnumAdapterInfo * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IEnumAdapterInfo * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IEnumAdapterInfo * This);
HRESULT ( STDMETHODCALLTYPE *Next )(
__RPC__in IEnumAdapterInfo * This,
/* [in] */ ULONG celt,
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pCeltFetched) IAdapterInfo **rgAI,
/* [out] */ __RPC__out ULONG *pCeltFetched);
HRESULT ( STDMETHODCALLTYPE *Skip )(
__RPC__in IEnumAdapterInfo * This,
/* [in] */ ULONG celt);
HRESULT ( STDMETHODCALLTYPE *Reset )(
__RPC__in IEnumAdapterInfo * This);
HRESULT ( STDMETHODCALLTYPE *Clone )(
__RPC__in IEnumAdapterInfo * This,
/* [out] */ __RPC__deref_out_opt IEnumAdapterInfo **ppEnum);
END_INTERFACE
} IEnumAdapterInfoVtbl;
interface IEnumAdapterInfo
{
CONST_VTBL struct IEnumAdapterInfoVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IEnumAdapterInfo_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IEnumAdapterInfo_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IEnumAdapterInfo_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IEnumAdapterInfo_Next(This,celt,rgAI,pCeltFetched) \
( (This)->lpVtbl -> Next(This,celt,rgAI,pCeltFetched) )
#define IEnumAdapterInfo_Skip(This,celt) \
( (This)->lpVtbl -> Skip(This,celt) )
#define IEnumAdapterInfo_Reset(This) \
( (This)->lpVtbl -> Reset(This) )
#define IEnumAdapterInfo_Clone(This,ppEnum) \
( (This)->lpVtbl -> Clone(This,ppEnum) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IEnumAdapterInfo_INTERFACE_DEFINED__ */
#ifndef __IAdapterNotificationSink_INTERFACE_DEFINED__
#define __IAdapterNotificationSink_INTERFACE_DEFINED__
/* interface IAdapterNotificationSink */
/* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IAdapterNotificationSink;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("44AB2DC3-23B2-47DE-8228-2E1CCEEB9911")
IAdapterNotificationSink : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE AdapterAdded(
__RPC__in_opt IAdapterInfo *pAdapter) = 0;
virtual HRESULT STDMETHODCALLTYPE AdapterRemoved(
__RPC__in_opt IAdapterInfo *pAdapter) = 0;
virtual HRESULT STDMETHODCALLTYPE AdapterModified(
__RPC__in_opt IAdapterInfo *pAdapter) = 0;
virtual HRESULT STDMETHODCALLTYPE AdapterUpdatePortMapping(
__RPC__in_opt IAdapterInfo *pAdapter) = 0;
};
#else /* C style interface */
typedef struct IAdapterNotificationSinkVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IAdapterNotificationSink * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IAdapterNotificationSink * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IAdapterNotificationSink * This);
HRESULT ( STDMETHODCALLTYPE *AdapterAdded )(
__RPC__in IAdapterNotificationSink * This,
__RPC__in_opt IAdapterInfo *pAdapter);
HRESULT ( STDMETHODCALLTYPE *AdapterRemoved )(
__RPC__in IAdapterNotificationSink * This,
__RPC__in_opt IAdapterInfo *pAdapter);
HRESULT ( STDMETHODCALLTYPE *AdapterModified )(
__RPC__in IAdapterNotificationSink * This,
__RPC__in_opt IAdapterInfo *pAdapter);
HRESULT ( STDMETHODCALLTYPE *AdapterUpdatePortMapping )(
__RPC__in IAdapterNotificationSink * This,
__RPC__in_opt IAdapterInfo *pAdapter);
END_INTERFACE
} IAdapterNotificationSinkVtbl;
interface IAdapterNotificationSink
{
CONST_VTBL struct IAdapterNotificationSinkVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IAdapterNotificationSink_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IAdapterNotificationSink_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IAdapterNotificationSink_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IAdapterNotificationSink_AdapterAdded(This,pAdapter) \
( (This)->lpVtbl -> AdapterAdded(This,pAdapter) )
#define IAdapterNotificationSink_AdapterRemoved(This,pAdapter) \
( (This)->lpVtbl -> AdapterRemoved(This,pAdapter) )
#define IAdapterNotificationSink_AdapterModified(This,pAdapter) \
( (This)->lpVtbl -> AdapterModified(This,pAdapter) )
#define IAdapterNotificationSink_AdapterUpdatePortMapping(This,pAdapter) \
( (This)->lpVtbl -> AdapterUpdatePortMapping(This,pAdapter) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IAdapterNotificationSink_INTERFACE_DEFINED__ */
#ifndef __IApplicationGatewayServices_INTERFACE_DEFINED__
#define __IApplicationGatewayServices_INTERFACE_DEFINED__
/* interface IApplicationGatewayServices */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IApplicationGatewayServices;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5134842A-FDCE-485D-93CD-DE1640643BBE")
IApplicationGatewayServices : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE CreatePrimaryControlChannel(
/* [in] */ ULONG uAdapterIndex,
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ USHORT usPortToCapture,
/* [in] */ ALG_CAPTURE eCaptureType,
/* [in] */ BOOL fCaptureInbound,
/* [in] */ ULONG ulListenAddress,
/* [in] */ USHORT usListenPort,
/* [out] */ __RPC__deref_out_opt IPrimaryControlChannel **ppIControlChannel) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateSecondaryControlChannel(
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulPrivateAddress,
/* [in] */ USHORT usPrivatePort,
/* [in] */ ULONG ulPublicAddress,
/* [in] */ USHORT usPublicPort,
/* [in] */ ULONG ulRemoteAddress,
/* [in] */ USHORT usRemotePort,
/* [in] */ ULONG ulListenAddress,
/* [in] */ USHORT usListenPort,
/* [in] */ ALG_DIRECTION eDirection,
/* [in] */ BOOL fPersistent,
/* [out] */ __RPC__deref_out_opt ISecondaryControlChannel **ppControlChannel) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBestSourceAddressForDestinationAddress(
/* [in] */ ULONG ulDstAddress,
/* [in] */ BOOL fDemandDial,
/* [out] */ __RPC__out ULONG *pulBestSrcAddress) = 0;
virtual HRESULT STDMETHODCALLTYPE PrepareProxyConnection(
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulSrcAddress,
/* [in] */ USHORT usSrcPort,
/* [in] */ ULONG ulDstAddress,
/* [in] */ USHORT usDstPort,
/* [in] */ BOOL fNoTimeout,
/* [out] */ __RPC__deref_out_opt IPendingProxyConnection **ppPendingConnection) = 0;
virtual HRESULT STDMETHODCALLTYPE PrepareSourceModifiedProxyConnection(
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulSrcAddress,
/* [in] */ USHORT usSrcPort,
/* [in] */ ULONG ulDstAddress,
/* [in] */ USHORT usDstPort,
/* [in] */ ULONG ulNewSrcAddress,
/* [in] */ USHORT usNewSourcePort,
/* [out] */ __RPC__deref_out_opt IPendingProxyConnection **ppPendingConnection) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDataChannel(
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulPrivateAddress,
/* [in] */ USHORT usPrivatePort,
/* [in] */ ULONG ulPublicAddress,
/* [in] */ USHORT usPublicPort,
/* [in] */ ULONG ulRemoteAddress,
/* [in] */ USHORT usRemotePort,
/* [in] */ ALG_DIRECTION eDirection,
/* [in] */ ALG_NOTIFICATION eDesiredNotification,
/* [in] */ BOOL fNoTimeout,
/* [out] */ __RPC__deref_out_opt IDataChannel **ppDataChannel) = 0;
virtual HRESULT STDMETHODCALLTYPE CreatePersistentDataChannel(
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulPrivateAddress,
/* [in] */ USHORT usPrivatePort,
/* [in] */ ULONG ulPublicAddress,
/* [in] */ USHORT usPublicPort,
/* [in] */ ULONG ulRemoteAddress,
/* [in] */ USHORT usRemotePort,
/* [in] */ ALG_DIRECTION eDirection,
/* [out] */ __RPC__deref_out_opt IPersistentDataChannel **ppIPersistentDataChannel) = 0;
virtual HRESULT STDMETHODCALLTYPE ReservePort(
/* [in] */ USHORT usPortCount,
/* [out] */ __RPC__out USHORT *pusReservedPort) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseReservedPort(
/* [in] */ USHORT usReservedPortBase,
/* [in] */ USHORT usPortCount) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumerateAdapters(
/* [out] */ __RPC__deref_out_opt IEnumAdapterInfo **ppIEnumAdapterInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE StartAdapterNotifications(
/* [in] */ __RPC__in_opt IAdapterNotificationSink *pSink,
/* [in] */ __RPC__in DWORD *pdwCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE StopAdapterNotifications(
/* [in] */ DWORD dwCookieOfSink) = 0;
virtual HRESULT STDMETHODCALLTYPE LookupAdapterPortMapping(
/* [in] */ ULONG ulAdapterIndex,
/* [in] */ UCHAR Protocol,
/* [in] */ ULONG ulDestinationAddress,
/* [in] */ USHORT usDestinationPort,
/* [out] */ __RPC__out ULONG *pulRemapAddress,
/* [out] */ __RPC__out USHORT *pusRemapPort) = 0;
};
#else /* C style interface */
typedef struct IApplicationGatewayServicesVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IApplicationGatewayServices * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IApplicationGatewayServices * This);
HRESULT ( STDMETHODCALLTYPE *CreatePrimaryControlChannel )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ ULONG uAdapterIndex,
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ USHORT usPortToCapture,
/* [in] */ ALG_CAPTURE eCaptureType,
/* [in] */ BOOL fCaptureInbound,
/* [in] */ ULONG ulListenAddress,
/* [in] */ USHORT usListenPort,
/* [out] */ __RPC__deref_out_opt IPrimaryControlChannel **ppIControlChannel);
HRESULT ( STDMETHODCALLTYPE *CreateSecondaryControlChannel )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulPrivateAddress,
/* [in] */ USHORT usPrivatePort,
/* [in] */ ULONG ulPublicAddress,
/* [in] */ USHORT usPublicPort,
/* [in] */ ULONG ulRemoteAddress,
/* [in] */ USHORT usRemotePort,
/* [in] */ ULONG ulListenAddress,
/* [in] */ USHORT usListenPort,
/* [in] */ ALG_DIRECTION eDirection,
/* [in] */ BOOL fPersistent,
/* [out] */ __RPC__deref_out_opt ISecondaryControlChannel **ppControlChannel);
HRESULT ( STDMETHODCALLTYPE *GetBestSourceAddressForDestinationAddress )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ ULONG ulDstAddress,
/* [in] */ BOOL fDemandDial,
/* [out] */ __RPC__out ULONG *pulBestSrcAddress);
HRESULT ( STDMETHODCALLTYPE *PrepareProxyConnection )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulSrcAddress,
/* [in] */ USHORT usSrcPort,
/* [in] */ ULONG ulDstAddress,
/* [in] */ USHORT usDstPort,
/* [in] */ BOOL fNoTimeout,
/* [out] */ __RPC__deref_out_opt IPendingProxyConnection **ppPendingConnection);
HRESULT ( STDMETHODCALLTYPE *PrepareSourceModifiedProxyConnection )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulSrcAddress,
/* [in] */ USHORT usSrcPort,
/* [in] */ ULONG ulDstAddress,
/* [in] */ USHORT usDstPort,
/* [in] */ ULONG ulNewSrcAddress,
/* [in] */ USHORT usNewSourcePort,
/* [out] */ __RPC__deref_out_opt IPendingProxyConnection **ppPendingConnection);
HRESULT ( STDMETHODCALLTYPE *CreateDataChannel )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulPrivateAddress,
/* [in] */ USHORT usPrivatePort,
/* [in] */ ULONG ulPublicAddress,
/* [in] */ USHORT usPublicPort,
/* [in] */ ULONG ulRemoteAddress,
/* [in] */ USHORT usRemotePort,
/* [in] */ ALG_DIRECTION eDirection,
/* [in] */ ALG_NOTIFICATION eDesiredNotification,
/* [in] */ BOOL fNoTimeout,
/* [out] */ __RPC__deref_out_opt IDataChannel **ppDataChannel);
HRESULT ( STDMETHODCALLTYPE *CreatePersistentDataChannel )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ ALG_PROTOCOL eProtocol,
/* [in] */ ULONG ulPrivateAddress,
/* [in] */ USHORT usPrivatePort,
/* [in] */ ULONG ulPublicAddress,
/* [in] */ USHORT usPublicPort,
/* [in] */ ULONG ulRemoteAddress,
/* [in] */ USHORT usRemotePort,
/* [in] */ ALG_DIRECTION eDirection,
/* [out] */ __RPC__deref_out_opt IPersistentDataChannel **ppIPersistentDataChannel);
HRESULT ( STDMETHODCALLTYPE *ReservePort )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ USHORT usPortCount,
/* [out] */ __RPC__out USHORT *pusReservedPort);
HRESULT ( STDMETHODCALLTYPE *ReleaseReservedPort )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ USHORT usReservedPortBase,
/* [in] */ USHORT usPortCount);
HRESULT ( STDMETHODCALLTYPE *EnumerateAdapters )(
__RPC__in IApplicationGatewayServices * This,
/* [out] */ __RPC__deref_out_opt IEnumAdapterInfo **ppIEnumAdapterInfo);
HRESULT ( STDMETHODCALLTYPE *StartAdapterNotifications )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ __RPC__in_opt IAdapterNotificationSink *pSink,
/* [in] */ __RPC__in DWORD *pdwCookie);
HRESULT ( STDMETHODCALLTYPE *StopAdapterNotifications )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ DWORD dwCookieOfSink);
HRESULT ( STDMETHODCALLTYPE *LookupAdapterPortMapping )(
__RPC__in IApplicationGatewayServices * This,
/* [in] */ ULONG ulAdapterIndex,
/* [in] */ UCHAR Protocol,
/* [in] */ ULONG ulDestinationAddress,
/* [in] */ USHORT usDestinationPort,
/* [out] */ __RPC__out ULONG *pulRemapAddress,
/* [out] */ __RPC__out USHORT *pusRemapPort);
END_INTERFACE
} IApplicationGatewayServicesVtbl;
interface IApplicationGatewayServices
{
CONST_VTBL struct IApplicationGatewayServicesVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IApplicationGatewayServices_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IApplicationGatewayServices_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IApplicationGatewayServices_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IApplicationGatewayServices_CreatePrimaryControlChannel(This,uAdapterIndex,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel) \
( (This)->lpVtbl -> CreatePrimaryControlChannel(This,uAdapterIndex,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel) )
#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) )
#define IApplicationGatewayServices_GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress) \
( (This)->lpVtbl -> GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress) )
#define IApplicationGatewayServices_PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection) \
( (This)->lpVtbl -> PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection) )
#define IApplicationGatewayServices_PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection) \
( (This)->lpVtbl -> PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection) )
#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) )
#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) )
#define IApplicationGatewayServices_ReservePort(This,usPortCount,pusReservedPort) \
( (This)->lpVtbl -> ReservePort(This,usPortCount,pusReservedPort) )
#define IApplicationGatewayServices_ReleaseReservedPort(This,usReservedPortBase,usPortCount) \
( (This)->lpVtbl -> ReleaseReservedPort(This,usReservedPortBase,usPortCount) )
#define IApplicationGatewayServices_EnumerateAdapters(This,ppIEnumAdapterInfo) \
( (This)->lpVtbl -> EnumerateAdapters(This,ppIEnumAdapterInfo) )
#define IApplicationGatewayServices_StartAdapterNotifications(This,pSink,pdwCookie) \
( (This)->lpVtbl -> StartAdapterNotifications(This,pSink,pdwCookie) )
#define IApplicationGatewayServices_StopAdapterNotifications(This,dwCookieOfSink) \
( (This)->lpVtbl -> StopAdapterNotifications(This,dwCookieOfSink) )
#define IApplicationGatewayServices_LookupAdapterPortMapping(This,ulAdapterIndex,Protocol,ulDestinationAddress,usDestinationPort,pulRemapAddress,pusRemapPort) \
( (This)->lpVtbl -> LookupAdapterPortMapping(This,ulAdapterIndex,Protocol,ulDestinationAddress,usDestinationPort,pulRemapAddress,pusRemapPort) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IApplicationGatewayServices_INTERFACE_DEFINED__ */
#ifndef __IApplicationGateway_INTERFACE_DEFINED__
#define __IApplicationGateway_INTERFACE_DEFINED__
/* interface IApplicationGateway */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IApplicationGateway;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5134842B-FDCE-485D-93CD-DE1640643BBE")
IApplicationGateway : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Initialize(
/* [in] */ __RPC__in_opt IApplicationGatewayServices *pAlgServices) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
};
#else /* C style interface */
typedef struct IApplicationGatewayVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IApplicationGateway * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IApplicationGateway * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IApplicationGateway * This);
HRESULT ( STDMETHODCALLTYPE *Initialize )(
__RPC__in IApplicationGateway * This,
/* [in] */ __RPC__in_opt IApplicationGatewayServices *pAlgServices);
HRESULT ( STDMETHODCALLTYPE *Stop )(
__RPC__in IApplicationGateway * This);
END_INTERFACE
} IApplicationGatewayVtbl;
interface IApplicationGateway
{
CONST_VTBL struct IApplicationGatewayVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IApplicationGateway_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IApplicationGateway_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IApplicationGateway_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IApplicationGateway_Initialize(This,pAlgServices) \
( (This)->lpVtbl -> Initialize(This,pAlgServices) )
#define IApplicationGateway_Stop(This) \
( (This)->lpVtbl -> Stop(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IApplicationGateway_INTERFACE_DEFINED__ */
#ifndef __ALGLib_LIBRARY_DEFINED__
#define __ALGLib_LIBRARY_DEFINED__
/* library ALGLib */
/* [helpstring][version][uuid] */
EXTERN_C const IID LIBID_ALGLib;
EXTERN_C const CLSID CLSID_ApplicationGatewayServices;
#ifdef __cplusplus
class DECLSPEC_UUID("F8ADE1D3-49DF-4B75-9005-EF9508E6A337")
ApplicationGatewayServices;
#endif
EXTERN_C const CLSID CLSID_PrimaryControlChannel;
#ifdef __cplusplus
class DECLSPEC_UUID("3CEB5509-C1CD-432F-9D8F-65D1E286AA80")
PrimaryControlChannel;
#endif
EXTERN_C const CLSID CLSID_SecondaryControlChannel;
#ifdef __cplusplus
class DECLSPEC_UUID("7B3181A0-C92F-4567-B0FA-CD9A10ECD7D1")
SecondaryControlChannel;
#endif
EXTERN_C const CLSID CLSID_AdapterInfo;
#ifdef __cplusplus
class DECLSPEC_UUID("6F9942C9-C1B1-4AB5-93DA-6058991DC8F3")
AdapterInfo;
#endif
EXTERN_C const CLSID CLSID_EnumAdapterInfo;
#ifdef __cplusplus
class DECLSPEC_UUID("6F9942CA-C1B1-4AB5-93DA-6058991DC8F3")
EnumAdapterInfo;
#endif
EXTERN_C const CLSID CLSID_PendingProxyConnection;
#ifdef __cplusplus
class DECLSPEC_UUID("D8A68E5E-2B37-426C-A329-C117C14C429E")
PendingProxyConnection;
#endif
EXTERN_C const CLSID CLSID_DataChannel;
#ifdef __cplusplus
class DECLSPEC_UUID("BBB36F15-408D-4056-8C27-920843D40BE5")
DataChannel;
#endif
EXTERN_C const CLSID CLSID_PersistentDataChannel;
#ifdef __cplusplus
class DECLSPEC_UUID("BC9B54AB-7883-4C13-909F-033D03267990")
PersistentDataChannel;
#endif
#endif /* __ALGLib_LIBRARY_DEFINED__ */
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif