1308 lines
46 KiB
Plaintext
1308 lines
46 KiB
Plaintext
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
//
|
||
|
// Copyright (C) Microsoft Corporation, 1997 - 1999
|
||
|
//
|
||
|
// File: router.idl
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
// mprsnap.idl : IDL source for MPRSNAP DLLs
|
||
|
//
|
||
|
|
||
|
#ifndef _ROUTER_IDL_
|
||
|
#define _ROUTER_IDL_
|
||
|
|
||
|
import "basetsd.h";
|
||
|
import "wtypes.idl";
|
||
|
import "mprsnap.idl";
|
||
|
import "rrasui.idl";
|
||
|
|
||
|
typedef BYTE * PBYTE;
|
||
|
|
||
|
const ULONG RTR_ID_MAX = 256;
|
||
|
const ULONG RTR_TITLE_MAX = 256;
|
||
|
const ULONG RTR_DEVICE_MAX = 256;
|
||
|
const ULONG RTR_PATH_MAX = 516;
|
||
|
const ULONG VENDOR_NAME_MAX = 256;
|
||
|
|
||
|
// predefined
|
||
|
interface IRouterInfo;
|
||
|
interface IRtrMgrInfo;
|
||
|
interface IRtrMgrProtocolInfo;
|
||
|
interface IInterfaceInfo;
|
||
|
interface IRtrMgrInterfaceInfo;
|
||
|
interface IRtrMgrProtocolInterfaceInfo;
|
||
|
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
// This flag is used to indicate that the interface exists in the UI
|
||
|
// and in the router. This means that it is ok to delete this
|
||
|
// interface if we have found that it has been deleted (since it
|
||
|
// should be in sync). If this flag, is 0, then it exists only on the
|
||
|
// local machine (usually it has just been created but not persisted)
|
||
|
// and that if a merge occurs, do not delete this interface.
|
||
|
// ----------------------------------------------------------------
|
||
|
RouterSnapin_InSyncWithRouter = 0x00000001,
|
||
|
RouterSnapin_RASOnly = 0x00000002, // NT4 non-Steelhead router
|
||
|
RouterSnapin_IsConfigured = 0x00000004, // is router configured?
|
||
|
RouterSnapin_Workstation = 0x00000008, // is this a workstation?
|
||
|
|
||
|
} RouterSnapinFlags;
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
// ----------------------------------------------------------------
|
||
|
RouterInfo_AddedAsLocal = 0x00000001, // the router is added as local machine --
|
||
|
|
||
|
} RouterInfoFlags;
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// Struct: RouterVersionInfo
|
||
|
//
|
||
|
// Router version information.
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
typedef struct _RouterVersionInfo
|
||
|
{
|
||
|
DWORD dwSize;
|
||
|
DWORD dwRouterVersion;
|
||
|
DWORD dwOsMajorVersion;
|
||
|
DWORD dwOsMinorVersion;
|
||
|
DWORD dwOsBuildNo;
|
||
|
DWORD dwOsServicePack;
|
||
|
DWORD dwOsFlags;
|
||
|
DWORD dwRouterFlags;
|
||
|
} RouterVersionInfo;
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// Struct: RouterCB
|
||
|
//
|
||
|
// Contains information applying to the router as a whole
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
typedef struct _RouterCB
|
||
|
{
|
||
|
DWORD dwLANOnlyMode; // 0 or 1
|
||
|
} RouterCB;
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// Struct: RtrMgrCB
|
||
|
//
|
||
|
// Contains information applying to a particular router-manager
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
typedef struct _RtrMgrCB
|
||
|
{
|
||
|
DWORD dwTransportId; // e.g. PID_IP (mprapi.h)
|
||
|
OLECHAR szId [RTR_ID_MAX+1]; // e.g. "Tcpip"
|
||
|
OLECHAR szTitle [RTR_TITLE_MAX+1]; // e.g. "TCP/IP Router Manager"
|
||
|
OLECHAR szDLLPath [RTR_PATH_MAX+1]; // e.g. "%systemroot%\system32\iprtrmgr.dll"
|
||
|
} RtrMgrCB;
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumRtrMgrCB
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB0F-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumRtrMgrCB : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[in,out] RtrMgrCB *pBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumRtrMgrCB **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumRtrMgrCBMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, RtrMgrCB *pBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumRtrMgrCB **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// Struct: RtrMgrProtocolCB
|
||
|
//
|
||
|
// Contains information describing a routing protocol.
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
typedef struct _RtrMgrProtocolCB
|
||
|
{
|
||
|
DWORD dwProtocolId; // e.g. IP_RIP (routprot.h)
|
||
|
OLECHAR szId [RTR_ID_MAX+1]; // e.g. "IPRIP"
|
||
|
DWORD dwFlags;
|
||
|
DWORD dwTransportId; // e.g. PID_IP
|
||
|
OLECHAR szRtrMgrId [RTR_ID_MAX+1]; // e.g. "Tcpip"
|
||
|
OLECHAR szTitle [RTR_TITLE_MAX+1]; // e.g. "RIP for Internet Protocol"
|
||
|
OLECHAR szDLLName [RTR_PATH_MAX+1]; // e.g. "iprip2.dll"
|
||
|
OLECHAR szVendorName[VENDOR_NAME_MAX+1];
|
||
|
GUID guidConfig; // GUID for the configuration object
|
||
|
GUID guidAdminUI; // GUID of the snapin
|
||
|
} RtrMgrProtocolCB;
|
||
|
|
||
|
typedef enum {
|
||
|
RtrMgrProtocolCBFlagHidden = 0x00000001,
|
||
|
RtrMgrProtocolSupportsRouting = 0x00000002,
|
||
|
} RtrMgrProtocolCBFlags;
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumRtrMgrProtocolCB
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB10-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumRtrMgrProtocolCB : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[out] RtrMgrProtocolCB *ppBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumRtrMgrProtocolCB **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumRtrMgrProtocolCBMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, RtrMgrProtocolCB *pBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumRtrMgrProtocolCB **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// Struct: InterfaceCB
|
||
|
//
|
||
|
// Contains transport-independent information applying to a interface
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
typedef struct _InterfaceCB
|
||
|
{
|
||
|
OLECHAR szId [RTR_ID_MAX+1]; // e.g. "EPRO1"
|
||
|
DWORD dwIfType; // e.g. ROUTER_IF_TYPE_CLIENT (mprapi.h)
|
||
|
BOOL bEnable; // e.g. Enabled or Disabled
|
||
|
|
||
|
// On NT4, the szTitle == szDevice
|
||
|
// On NT5, szTitle == friendly name, szDevice == "[1] Intel EtherPro"
|
||
|
OLECHAR szTitle [RTR_TITLE_MAX+1]; // e.g. see above
|
||
|
OLECHAR szDevice[RTR_DEVICE_MAX+1];// e.g. see above
|
||
|
|
||
|
|
||
|
// Tells us what protocols are bound to this interface
|
||
|
// If the transport is not bound to the adapter, then we don't
|
||
|
// let the adapter be added to that router-manager.
|
||
|
DWORD dwBindFlags; // e.g. InterfaceCB_BindToIp
|
||
|
} InterfaceCB;
|
||
|
|
||
|
typedef enum {
|
||
|
InterfaceCB_BindToIp = 0x00000001,
|
||
|
InterfaceCB_BindToIpx = 0x00000002,
|
||
|
} InterfaceCBBindFlags;
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumInterfaceCB
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB11-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumInterfaceCB : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[out] InterfaceCB *pBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumInterfaceCB **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumInterfaceCBMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, InterfaceCB *pBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumInterfaceCB **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// Struct: RtrMgrInterfaceCB
|
||
|
//
|
||
|
// Contains router-manager-specific information for an interface
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
typedef struct _RtrMgrInterfaceCB
|
||
|
{
|
||
|
DWORD dwTransportId; // e.g. PID_IP (mprapi.h)
|
||
|
OLECHAR szId [RTR_ID_MAX+1]; // e.g. "Tcpip"
|
||
|
OLECHAR szInterfaceId [RTR_ID_MAX+1]; // e.g. "EPRO1"
|
||
|
DWORD dwIfType; // e.g. ROUTER_IF_TYPE_CLIENT (mprapi.h)
|
||
|
OLECHAR szTitle [RTR_TITLE_MAX+1]; // e.g. "[1] Intel Etherexpress PRO"
|
||
|
} RtrMgrInterfaceCB;
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumRtrMgrInterfaceCB
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB12-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumRtrMgrInterfaceCB : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[out] RtrMgrInterfaceCB *pBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumRtrMgrInterfaceCB **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumRtrMgrInterfaceCBMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, RtrMgrInterfaceCB *pBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumRtrMgrInterfaceCB **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// Struct: RtrMgrProtocolInterfaceCB
|
||
|
//
|
||
|
// contains routing-protocol-specific information for an interface
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
typedef struct RtrMgrProtocolInterfaceCB
|
||
|
{
|
||
|
DWORD dwProtocolId; // e.g. IP_RIP (routprot.h)
|
||
|
OLECHAR szId [RTR_ID_MAX+1]; // e.g. "IPRIP"
|
||
|
DWORD dwTransportId; // e.g. PID_IP
|
||
|
OLECHAR szRtrMgrId [RTR_TITLE_MAX+1]; // e.g. "Tcpip"
|
||
|
OLECHAR szInterfaceId [RTR_ID_MAX+1]; // e.g. "EPRO1"
|
||
|
DWORD dwIfType; // e.g. ROUTER_IF_TYPE_CLIENT (mprapi.h)
|
||
|
OLECHAR szTitle [RTR_TITLE_MAX+1]; // e.g. "[1] Intel Etherexpress PRO"
|
||
|
} RtrMgrProtocolInterfaceCB;
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumRtrMgrProtocolInterfaceCB
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB13-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumRtrMgrProtocolInterfaceCB : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[out] RtrMgrProtocolInterfaceCB *pBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumRtrMgrProtocolInterfaceCB **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumRtrMgrProtocolInterfaceCBMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, RtrMgrProtocolInterfaceCB *pBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumRtrMgrProtocolInterfaceCB **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
Misc. things for the refresh object
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IRouterRefreshModify
|
||
|
---------------------------------------------------------------------------*/
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB1D-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IRouterRefreshModify : IUnknown
|
||
|
{
|
||
|
import "unknwn.idl";
|
||
|
|
||
|
// to make it refresh multiple routers
|
||
|
HRESULT AddRouterObject([in] REFCLSID riid,
|
||
|
[in, iid_is(riid)] IUnknown *pUnk);
|
||
|
HRESULT RemoveRouterObject([in] REFCLSID riid,
|
||
|
[in, iid_is(riid)] IUnknown *pUnk);
|
||
|
}
|
||
|
|
||
|
cpp_quote("#define DeclareIRouterRefreshModifyMembers(IPURE)\\")
|
||
|
cpp_quote(" STDMETHOD(AddRouterObject)(THIS_ REFIID riid, IUnknown *pUnk) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RemoveRouterObject)(THIS_ REFIID rrid, IUnknown *pUnk) IPURE;\\")
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
These are additional values that are used in the OnChange.
|
||
|
---------------------------------------------------------------------------*/
|
||
|
cpp_quote("// Valid values for dwChangeType of OnChange")
|
||
|
cpp_quote("//efine ROUTER_REFRESH 0 - defined in rrasui.idl")
|
||
|
cpp_quote("#define ROUTER_DATA_CHANGE 16")
|
||
|
cpp_quote("#define ROUTER_DATA_DELETE 17")
|
||
|
cpp_quote("#define ROUTER_CHILD_ADD 18")
|
||
|
cpp_quote("#define ROUTER_CHILD_DELETE 19")
|
||
|
cpp_quote("#define ROUTER_CHILD_PREADD 20")
|
||
|
|
||
|
cpp_quote("// Valid values for dwObjectType of OnChange")
|
||
|
cpp_quote("#define ROUTER_OBJ_Router 1")
|
||
|
cpp_quote("#define ROUTER_OBJ_Rm 2")
|
||
|
cpp_quote("#define ROUTER_OBJ_RmProt 3")
|
||
|
cpp_quote("#define ROUTER_OBJ_If 4")
|
||
|
cpp_quote("#define ROUTER_OBJ_RmIf 5")
|
||
|
cpp_quote("#define ROUTER_OBJ_RmProtIf 6")
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IRtrMgrProtocolInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB06-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IRtrMgrProtocolInfo : IUnknown
|
||
|
{
|
||
|
import "unknwn.idl";
|
||
|
|
||
|
DWORD GetFlags();
|
||
|
HRESULT SetFlags([in] DWORD dwFlags);
|
||
|
|
||
|
DWORD GetProtocolId();
|
||
|
LPCOLESTR GetTitle();
|
||
|
DWORD GetTransportId();
|
||
|
HRESULT CopyCB([in,out] RtrMgrProtocolCB *pRMProtCB);
|
||
|
|
||
|
HRESULT GetParentRtrMgrInfo([out] IRtrMgrInfo **ppRm);
|
||
|
HRESULT SetParentRtrMgrInfo([in] IRtrMgrInfo *pRm);
|
||
|
|
||
|
HRESULT RtrAdvise([in] IRtrAdviseSink *pRtrAdviseSink,
|
||
|
[out] LONG_PTR *pulConnection,
|
||
|
[in] LPARAM lUserParam);
|
||
|
HRESULT RtrNotify([in] DWORD dwChangeType, [in] DWORD dwObjectType,
|
||
|
[in] LPARAM lParam);
|
||
|
HRESULT RtrUnadvise([in] LONG_PTR ulConnection);
|
||
|
|
||
|
// Tell the object that it should remove all connections to the
|
||
|
// running router
|
||
|
HRESULT DoDisconnect();
|
||
|
|
||
|
HRESULT AddWeakRef();
|
||
|
HRESULT ReleaseWeakRef();
|
||
|
HRESULT Destruct();
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIRtrMgrProtocolInfoMembers(IPURE)\\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetFlags)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetFlags)(THIS_ DWORD dwFlags) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetProtocolId)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetTitle)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetTransportId)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(CopyCB)(THIS_ RtrMgrProtocolCB *pRMProtCB) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(GetParentRtrMgrInfo)(THIS_ IRtrMgrInfo **ppRm) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetParentRtrMgrInfo)(THIS_ IRtrMgrInfo *pRm) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(RtrAdvise)(THIS_ IRtrAdviseSink *pRtrAdviseSink,\\")
|
||
|
cpp_quote(" LONG_PTR *pulConnection, LPARAM lUserParam) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(RtrNotify)(THIS_ DWORD dwChangeType, DWORD objtype, LPARAM lParam) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RtrUnadvise)(THIS_ LONG_PTR ulConnection) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(DoDisconnect)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(AddWeakRef)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseWeakRef)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Destruct)(THIS) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumRtrMgrProtocolInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB07-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumRtrMgrProtocolInfo : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[out] IRtrMgrProtocolInfo **ppBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumRtrMgrProtocolInfo **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumRtrMgrProtocolInfoMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, IRtrMgrProtocolInfo **ppBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumRtrMgrProtocolInfo **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IRtrMgrInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB04-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IRtrMgrInfo : IUnknown
|
||
|
{
|
||
|
import "unknwn.idl";
|
||
|
|
||
|
DWORD GetFlags();
|
||
|
HRESULT SetFlags([in] DWORD dwFlags);
|
||
|
|
||
|
HRESULT Load([in,string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine,
|
||
|
[in] HANDLE hTransport
|
||
|
);
|
||
|
|
||
|
|
||
|
HRESULT Save([in,string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine,
|
||
|
[in] HANDLE hTransport,
|
||
|
[in] IInfoBase * pGlobalInfo,
|
||
|
[in] IInfoBase * pClientInfo,
|
||
|
[in] DWORD dwDeleteProtocolId);
|
||
|
|
||
|
|
||
|
HRESULT Unload( );
|
||
|
|
||
|
|
||
|
HRESULT Delete([in,string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine);
|
||
|
|
||
|
HRESULT SetInfoBase([in] IInfoBase* pGlobalInfo,
|
||
|
[in] IInfoBase* pClientInfo );
|
||
|
HRESULT GetInfoBase([in] HANDLE hMachine,
|
||
|
[in] HANDLE hTransport,
|
||
|
[out] IInfoBase ** ppGlobalInfo,
|
||
|
[out] IInfoBase ** ppClientInfo);
|
||
|
|
||
|
|
||
|
HRESULT Merge([in] IRtrMgrInfo *pNewRtrMgrInfo);
|
||
|
|
||
|
DWORD GetTransportId();
|
||
|
LPCOLESTR GetTitle();
|
||
|
|
||
|
LPCOLESTR GetId();
|
||
|
HRESULT SetId(LPCOLESTR pszId);
|
||
|
|
||
|
HRESULT CopyRtrMgrCB([in,out] RtrMgrCB *pRMCB);
|
||
|
|
||
|
|
||
|
LPCOLESTR GetMachineName();
|
||
|
|
||
|
HRESULT EnumRtrMgrProtocol([out] IEnumRtrMgrProtocolInfo ** ppEnumRMProt);
|
||
|
HRESULT FindRtrMgrProtocol([in] DWORD dwProtocolId,
|
||
|
[out] IRtrMgrProtocolInfo **ppRMProtInfo);
|
||
|
|
||
|
HRESULT AddRtrMgrProtocol([in] IRtrMgrProtocolInfo *pInfo,
|
||
|
[in] IInfoBase * pGlobalInfo,
|
||
|
[in] IInfoBase * pClientInfo);
|
||
|
|
||
|
HRESULT DeleteRtrMgrProtocol([in] DWORD dwProtocolId, BOOL fRemove);
|
||
|
HRESULT ReleaseRtrMgrProtocol([in] DWORD dwProtocolId);
|
||
|
|
||
|
|
||
|
HRESULT RtrAdvise([in] IRtrAdviseSink *pRtrAdviseSink,
|
||
|
[out] LONG_PTR *pulConnection,
|
||
|
[in] LPARAM lUserParam);
|
||
|
HRESULT RtrNotify([in] DWORD dwChangeType, [in] DWORD dwObjectType,
|
||
|
[in] LPARAM lParam);
|
||
|
HRESULT RtrUnadvise([in] LONG_PTR ulConnection);
|
||
|
|
||
|
HRESULT GetParentRouterInfo([out] IRouterInfo **ppRouterInfo);
|
||
|
HRESULT SetParentRouterInfo([in] IRouterInfo *pRouterInfo);
|
||
|
|
||
|
// Tell the object that it should remove all connections to the
|
||
|
// running router
|
||
|
HRESULT DoDisconnect();
|
||
|
|
||
|
HRESULT AddWeakRef();
|
||
|
HRESULT ReleaseWeakRef();
|
||
|
HRESULT Destruct();
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIRtrMgrInfoMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetFlags)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetFlags)(THIS_ DWORD dwFlags) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Load)(THIS_ LPCOLESTR pszMachine, \\")
|
||
|
cpp_quote(" HANDLE hMachine, \\")
|
||
|
cpp_quote(" HANDLE hTransport) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Save)(THIS_ LPCOLESTR pszMachine, \\")
|
||
|
cpp_quote(" HANDLE hMachine, \\")
|
||
|
cpp_quote(" HANDLE hTransport, \\")
|
||
|
cpp_quote(" IInfoBase *pGlobalInfo, \\")
|
||
|
cpp_quote(" IInfoBase *pClientInfo, \\")
|
||
|
cpp_quote(" DWORD dwDeleteProtocolId) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Unload)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Delete)(THIS_ LPCOLESTR pszMachine, HANDLE hMachine) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetInfoBase)(THIS_ IInfoBase *pGlobalInfo, \\")
|
||
|
cpp_quote(" IInfoBase *pClientInfo) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(GetInfoBase)(THIS_ HANDLE hMachine, \\")
|
||
|
cpp_quote(" HANDLE hTransport, \\")
|
||
|
cpp_quote(" IInfoBase **ppGlobalInfo, \\")
|
||
|
cpp_quote(" IInfoBase **ppClientInfo) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Merge)(THIS_ IRtrMgrInfo *pNewRtrMgrInfo) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetId)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetId)(THIS_ LPCOLESTR pszId) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetTransportId)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetTitle)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(CopyRtrMgrCB)(THIS_ RtrMgrCB *pRMCB) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetMachineName)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(EnumRtrMgrProtocol)(THIS_ IEnumRtrMgrProtocolInfo **ppEnumRMProt) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(FindRtrMgrProtocol)(THIS_ DWORD dwProtocolId, \\")
|
||
|
cpp_quote(" IRtrMgrProtocolInfo **ppRMProtInfo) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(AddRtrMgrProtocol)(THIS_ IRtrMgrProtocolInfo *pInfo, \\")
|
||
|
cpp_quote(" IInfoBase *pGlobalInfo, \\")
|
||
|
cpp_quote(" IInfoBase *pClientInfo) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(DeleteRtrMgrProtocol)(THIS_ DWORD dwProtocolId, BOOL fRemove) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseRtrMgrProtocol)(THIS_ DWORD dwProtocolId) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(RtrAdvise)(THIS_ IRtrAdviseSink *pRtrAdviseSink,\\")
|
||
|
cpp_quote(" LONG_PTR *pulConnection, LPARAM lUserParam) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(RtrNotify)(THIS_ DWORD dwChangeType, DWORD objtype, LPARAM lParam) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RtrUnadvise)(THIS_ LONG_PTR ulConnection) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(GetParentRouterInfo)(THIS_ IRouterInfo **ppParent) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetParentRouterInfo)(THIS_ IRouterInfo *ppParent) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(DoDisconnect)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(AddWeakRef)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseWeakRef)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Destruct)(THIS) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumRtrMgrInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB05-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumRtrMgrInfo : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[out] IRtrMgrInfo **ppBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumRtrMgrInfo **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumRtrMgrInfoMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, IRtrMgrInfo **ppBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumRtrMgrInfo **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IRtrMgrProtocolInterfaceInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB0C-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IRtrMgrProtocolInterfaceInfo : IUnknown
|
||
|
{
|
||
|
import "unknwn.idl";
|
||
|
|
||
|
DWORD GetFlags();
|
||
|
HRESULT SetFlags([in] DWORD dwFlags);
|
||
|
|
||
|
DWORD GetProtocolId();
|
||
|
DWORD GetTransportId();
|
||
|
|
||
|
LPCOLESTR GetInterfaceId();
|
||
|
DWORD GetInterfaceType();
|
||
|
LPCOLESTR GetTitle();
|
||
|
HRESULT SetTitle(LPCOLESTR pszTitle);
|
||
|
|
||
|
HRESULT CopyCB([in,out] RtrMgrProtocolInterfaceCB * pRMProtCB);
|
||
|
|
||
|
|
||
|
HRESULT RtrAdvise([in] IRtrAdviseSink *pRtrAdviseSink,
|
||
|
[out] LONG_PTR *pulConnection,
|
||
|
[in] LPARAM lUserParam);
|
||
|
HRESULT RtrNotify([in] DWORD dwChangeType, [in] DWORD dwObjectType, [in] LPARAM lParam);
|
||
|
HRESULT RtrUnadvise([in] LONG_PTR ulConnection);
|
||
|
|
||
|
HRESULT GetParentRtrMgrInterfaceInfo([out] IRtrMgrInterfaceInfo **ppParent);
|
||
|
HRESULT SetParentRtrMgrInterfaceInfo([in] IRtrMgrInterfaceInfo *pParent);
|
||
|
|
||
|
// Tell the object that it should remove all connections to the
|
||
|
// running router
|
||
|
HRESULT DoDisconnect();
|
||
|
|
||
|
HRESULT AddWeakRef();
|
||
|
HRESULT ReleaseWeakRef();
|
||
|
HRESULT Destruct();
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIRtrMgrProtocolInterfaceInfoMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetFlags)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetFlags)(THIS_ DWORD dwFlags) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetProtocolId)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetTransportId)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetInterfaceId)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetInterfaceType)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetTitle)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetTitle)(THIS_ LPCOLESTR pszTitle) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(CopyCB)(THIS_ RtrMgrProtocolInterfaceCB *pRMProtCB) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(RtrAdvise)(THIS_ IRtrAdviseSink *pRtrAdviseSink,\\")
|
||
|
cpp_quote(" LONG_PTR *pulConnection, LPARAM lUserParam) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(RtrNotify)(THIS_ DWORD dwChangeType, DWORD objtype, LPARAM lParam) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RtrUnadvise)(THIS_ LONG_PTR ulConnection) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(GetParentRtrMgrInterfaceInfo)(THIS_ IRtrMgrInterfaceInfo **ppParent) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetParentRtrMgrInterfaceInfo)(THIS_ IRtrMgrInterfaceInfo *pParent) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(DoDisconnect)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(AddWeakRef)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseWeakRef)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Destruct)(THIS) IPURE; \\")
|
||
|
cpp_quote(" ")
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumRtrMgrProtocolInterfaceInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB0D-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumRtrMgrProtocolInterfaceInfo : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[out] IRtrMgrProtocolInterfaceInfo **ppBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumRtrMgrProtocolInterfaceInfo **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumRtrMgrProtocolInterfaceInfoMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, IRtrMgrProtocolInterfaceInfo **ppBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumRtrMgrProtocolInterfaceInfo **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IRtrMgrInterfaceInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB0A-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IRtrMgrInterfaceInfo : IUnknown
|
||
|
{
|
||
|
import "unknwn.idl";
|
||
|
|
||
|
DWORD GetFlags();
|
||
|
HRESULT SetFlags([in] DWORD dwFlags);
|
||
|
|
||
|
HRESULT Load([in,string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine,
|
||
|
[in] HANDLE hInterface,
|
||
|
[in] HANDLE hIfTransport);
|
||
|
|
||
|
|
||
|
HRESULT Save(
|
||
|
[in,string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine,
|
||
|
[in] HANDLE hInterface,
|
||
|
[in] HANDLE hIfTransport,
|
||
|
[in] IInfoBase* pInterfaceInfo,
|
||
|
[in] DWORD dwDeleteProtocolId);
|
||
|
|
||
|
HRESULT Unload( );
|
||
|
|
||
|
HRESULT Delete([in, string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine,
|
||
|
[in] HANDLE hInterface);
|
||
|
|
||
|
|
||
|
HRESULT Merge([in] IRtrMgrInterfaceInfo *pNewRtrMgrInterfaceInfo);
|
||
|
|
||
|
HRESULT SetInfo([in] DWORD dwIfInfoSize,
|
||
|
[in, size_is(dwIfInfoSize)] PBYTE pInterfaceInfoData);
|
||
|
|
||
|
HRESULT SetInfoBase([in] HANDLE hMachine,
|
||
|
[in] HANDLE hInterface,
|
||
|
[in] HANDLE hIfTransport,
|
||
|
[in] IInfoBase *pIfInfo);
|
||
|
HRESULT GetInfoBase([in] HANDLE hMachine,
|
||
|
[in] HANDLE hInterface,
|
||
|
[in] HANDLE hIfTransport,
|
||
|
[out] IInfoBase **ppIfInfo);
|
||
|
|
||
|
DWORD GetTransportId();
|
||
|
|
||
|
LPCOLESTR GetId();
|
||
|
HRESULT SetId(LPCOLESTR pszId);
|
||
|
|
||
|
// Information about the interface
|
||
|
LPCOLESTR GetInterfaceId();
|
||
|
DWORD GetInterfaceType();
|
||
|
|
||
|
LPCOLESTR GetTitle();
|
||
|
HRESULT SetTitle(LPCOLESTR pszTitle);
|
||
|
|
||
|
HRESULT CopyCB([in,out] RtrMgrInterfaceCB *pRMIfCB);
|
||
|
|
||
|
LPCOLESTR GetMachineName();
|
||
|
HRESULT SetMachineName(LPCOLESTR pszMachineName);
|
||
|
|
||
|
HRESULT EnumRtrMgrProtocolInterface([out] IEnumRtrMgrProtocolInterfaceInfo **ppEnumRmProtIf);
|
||
|
|
||
|
|
||
|
HRESULT FindRtrMgrProtocolInterface([in] DWORD dwProtocolId,
|
||
|
[out] IRtrMgrProtocolInterfaceInfo **pInfo);
|
||
|
|
||
|
HRESULT AddRtrMgrProtocolInterface([in] IRtrMgrProtocolInterfaceInfo *pInfo,
|
||
|
[in] IInfoBase *pInterfaceInfo);
|
||
|
|
||
|
HRESULT DeleteRtrMgrProtocolInterface([in] DWORD dwProtocolId, BOOL fRemove);
|
||
|
HRESULT ReleaseRtrMgrProtocolInterface([in] DWORD dwProtocolId);
|
||
|
|
||
|
|
||
|
HRESULT RtrAdvise([in] IRtrAdviseSink *pRtrAdviseSink,
|
||
|
[out] LONG_PTR *pulConnection,
|
||
|
[in] LPARAM lUserParam);
|
||
|
HRESULT RtrNotify([in] DWORD dwChangeType, [in] DWORD dwObjectType, [in] LPARAM lParam);
|
||
|
HRESULT RtrUnadvise([in] LONG_PTR ulConnection);
|
||
|
|
||
|
HRESULT GetParentInterfaceInfo([out] IInterfaceInfo **ppParent);
|
||
|
HRESULT SetParentInterfaceInfo([in] IInterfaceInfo *pParent);
|
||
|
|
||
|
// Tell the object that it should remove all connections to the
|
||
|
// running router
|
||
|
HRESULT DoDisconnect();
|
||
|
|
||
|
HRESULT AddWeakRef();
|
||
|
HRESULT ReleaseWeakRef();
|
||
|
HRESULT Destruct();
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIRtrMgrInterfaceInfoMembers(IPURE)\\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetFlags)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetFlags)(THIS_ DWORD dwFlags) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Load)(THIS_ LPCOLESTR pszMachine,\\")
|
||
|
cpp_quote(" HANDLE hMachine,\\")
|
||
|
cpp_quote(" HANDLE hInterface,\\")
|
||
|
cpp_quote(" HANDLE hIfTransport) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Save)(THIS_ LPCOLESTR pszMachine,\\")
|
||
|
cpp_quote(" HANDLE hMachine,\\")
|
||
|
cpp_quote(" HANDLE hInterface,\\")
|
||
|
cpp_quote(" HANDLE hIfTransport,\\")
|
||
|
cpp_quote(" IInfoBase *pInterfaceInfo,\\")
|
||
|
cpp_quote(" DWORD dwProtocolId) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Unload)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Delete)(THIS_ LPCOLESTR pszMachine,\\")
|
||
|
cpp_quote(" HANDLE hMachine,\\")
|
||
|
cpp_quote(" HANDLE hInterface) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Merge)(THIS_ IRtrMgrInterfaceInfo *pNewRtrMgrInterfaceInfo) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetInfo)(THIS_ DWORD dwIfInfoSize,\\")
|
||
|
cpp_quote(" PBYTE pInterfaceInfoData) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetInfoBase)(THIS_ \\")
|
||
|
cpp_quote(" HANDLE hMachine,\\")
|
||
|
cpp_quote(" HANDLE hInterface,\\")
|
||
|
cpp_quote(" HANDLE hIfTransport,\\")
|
||
|
cpp_quote(" IInfoBase *pInfoBase) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(GetInfoBase)(THIS_ \\")
|
||
|
cpp_quote(" HANDLE hMachine,\\")
|
||
|
cpp_quote(" HANDLE hInterface,\\")
|
||
|
cpp_quote(" HANDLE hIfTransport,\\")
|
||
|
cpp_quote(" IInfoBase **ppInfoBase) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetId)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetId)(THIS_ LPCOLESTR pszId) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetTransportId)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetInterfaceId)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetInterfaceType)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetTitle)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetTitle)(THIS_ LPCOLESTR pszTitle) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(CopyCB)(THIS_ RtrMgrInterfaceCB *pRMIfCB)IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetMachineName)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetMachineName)(THIS_ LPCOLESTR pszMachineName) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(EnumRtrMgrProtocolInterface)(THIS_ IEnumRtrMgrProtocolInterfaceInfo **ppEnumRmProtIf) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(FindRtrMgrProtocolInterface)(THIS_ DWORD dwProtocolId,\\")
|
||
|
cpp_quote(" IRtrMgrProtocolInterfaceInfo **ppInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(AddRtrMgrProtocolInterface)(THIS_ IRtrMgrProtocolInterfaceInfo *pInfo,\\")
|
||
|
cpp_quote(" IInfoBase *pIfInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(DeleteRtrMgrProtocolInterface)(THIS_ DWORD dwProtocolId, BOOL fRemove) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseRtrMgrProtocolInterface)(THIS_ DWORD dwProtocolId) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RtrAdvise)(THIS_ IRtrAdviseSink *pRtrAdviseSink,\\")
|
||
|
cpp_quote(" LONG_PTR *pulConnection, LPARAM lUserParam) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(RtrNotify)(THIS_ DWORD dwChangeType, DWORD objtype, LPARAM lParam) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RtrUnadvise)(THIS_ LONG_PTR ulConnection) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(GetParentInterfaceInfo)(THIS_ IInterfaceInfo **ppParent) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetParentInterfaceInfo)(THIS_ IInterfaceInfo *pParent) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(DoDisconnect)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(AddWeakRef)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseWeakRef)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Destruct)(THIS) IPURE; \\")
|
||
|
cpp_quote(" ")
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumRtrMgrInterfaceInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB0B-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumRtrMgrInterfaceInfo : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[out] IRtrMgrInterfaceInfo **ppBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumRtrMgrInterfaceInfo **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumRtrMgrInterfaceInfoMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, IRtrMgrInterfaceInfo **ppBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumRtrMgrInterfaceInfo **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IInterfaceInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB08-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IInterfaceInfo : IUnknown
|
||
|
{
|
||
|
import "unknwn.idl";
|
||
|
|
||
|
DWORD GetFlags();
|
||
|
HRESULT SetFlags([in] DWORD dwFlags);
|
||
|
|
||
|
HRESULT Load([in, string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine,
|
||
|
[in] HANDLE hInterface);
|
||
|
|
||
|
HRESULT Save([in,string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine,
|
||
|
[in] HANDLE hInterface);
|
||
|
|
||
|
|
||
|
HRESULT Delete([in,string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine);
|
||
|
|
||
|
|
||
|
HRESULT Unload( );
|
||
|
|
||
|
HRESULT Merge([in] IInterfaceInfo *pNewInterfaceInfo);
|
||
|
|
||
|
// These can't be changed
|
||
|
LPCOLESTR GetId();
|
||
|
DWORD GetInterfaceType();
|
||
|
LPCOLESTR GetDeviceName();
|
||
|
|
||
|
LPCOLESTR GetTitle();
|
||
|
HRESULT SetTitle([in] LPCOLESTR pszTitle);
|
||
|
|
||
|
|
||
|
BOOL IsInterfaceEnabled();
|
||
|
HRESULT SetInterfaceEnabledState([in] BOOL bEnabled);
|
||
|
|
||
|
HRESULT CopyCB([in,out] InterfaceCB *pifcb);
|
||
|
|
||
|
LPCOLESTR GetMachineName();
|
||
|
HRESULT SetMachineName([in] LPCOLESTR pszMachine);
|
||
|
|
||
|
HRESULT EnumRtrMgrInterface([out] IEnumRtrMgrInterfaceInfo **ppEnumRMIf);
|
||
|
HRESULT AddRtrMgrInterface([in] IRtrMgrInterfaceInfo *pInfo,
|
||
|
[in] IInfoBase *pInterfaceInfo);
|
||
|
HRESULT DeleteRtrMgrInterface([in] DWORD dwTransportId, BOOL fRemove);
|
||
|
HRESULT ReleaseRtrMgrInterface([in] DWORD dwTransportId);
|
||
|
HRESULT FindRtrMgrInterface([in] DWORD dwTransportId,
|
||
|
[out] IRtrMgrInterfaceInfo **ppInfo);
|
||
|
|
||
|
HRESULT RtrAdvise([in] IRtrAdviseSink *pRtrAdviseSink,
|
||
|
[out] LONG_PTR *pulConnection,
|
||
|
[in] LPARAM lUserParam);
|
||
|
HRESULT RtrNotify([in] DWORD dwChangeType, [in] DWORD dwObjectType,
|
||
|
[in] LPARAM lParam);
|
||
|
HRESULT RtrUnadvise([in] LONG_PTR ulConnection);
|
||
|
|
||
|
HRESULT GetParentRouterInfo([out] IRouterInfo **ppRouterInfo);
|
||
|
HRESULT SetParentRouterInfo([in] IRouterInfo *pRouterInfo);
|
||
|
|
||
|
// Tell the object that it should remove all connections to the
|
||
|
// running router
|
||
|
HRESULT DoDisconnect();
|
||
|
|
||
|
HRESULT AddWeakRef();
|
||
|
HRESULT ReleaseWeakRef();
|
||
|
HRESULT Destruct();
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIInterfaceInfoMembers(IPURE)\\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetFlags)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetFlags)(THIS_ DWORD dwFlags) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Load)(THIS_ LPCOLESTR pszMachine,\\")
|
||
|
cpp_quote(" HANDLE hMachine,\\")
|
||
|
cpp_quote(" HANDLE hInterface) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Save)(THIS_ LPCOLESTR pszMachine,\\")
|
||
|
cpp_quote(" HANDLE hMachine,\\")
|
||
|
cpp_quote(" HANDLE hInterface) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Delete)(THIS_ LPCOLESTR pszMachine,\\")
|
||
|
cpp_quote(" HANDLE hMachine) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Unload)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Merge)(THIS_ IInterfaceInfo *pNewInterfaceInfo) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetId)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetInterfaceType)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetDeviceName)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetTitle)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetTitle)(THIS_ LPCOLESTR pszTitle) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(BOOL, IsInterfaceEnabled)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetInterfaceEnabledState)(THIS_ BOOL bEnabled) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(CopyCB)(THIS_ InterfaceCB *pifcb) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetMachineName)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetMachineName)(THIS_ LPCOLESTR pszMachineName) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(EnumRtrMgrInterface)(THIS_ IEnumRtrMgrInterfaceInfo **ppEnumRMIf) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(AddRtrMgrInterface)(THIS_ IRtrMgrInterfaceInfo *pInfo,\\")
|
||
|
cpp_quote(" IInfoBase *pInterfaceInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(DeleteRtrMgrInterface)(THIS_ DWORD dwTransportId, BOOL fRemove) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseRtrMgrInterface)(THIS_ DWORD dwTransportId) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(FindRtrMgrInterface)(THIS_ DWORD dwTransportId,\\")
|
||
|
cpp_quote(" IRtrMgrInterfaceInfo **ppInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RtrAdvise)(THIS_ IRtrAdviseSink *pRtrAdviseSink,\\")
|
||
|
cpp_quote(" LONG_PTR *pulConnection, LPARAM lUserParam) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(RtrNotify)(THIS_ DWORD dwChangeType, DWORD objtype, LPARAM lParam) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RtrUnadvise)(THIS_ LONG_PTR ulConnection) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(GetParentRouterInfo)(THIS_ IRouterInfo **ppRouterInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(SetParentRouterInfo)(THIS_ IRouterInfo *pRouterInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(DoDisconnect)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(AddWeakRef)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseWeakRef)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Destruct)(THIS) IPURE; \\")
|
||
|
cpp_quote(" ")
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IEnumInterfaceInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB09-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IEnumInterfaceInfo : IUnknown
|
||
|
{
|
||
|
HRESULT Next( [in] ULONG uNum,
|
||
|
[out] IInterfaceInfo **ppBlock,
|
||
|
[out] ULONG * pNumReturned );
|
||
|
|
||
|
HRESULT Skip( [in] ULONG uNum );
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone( [out] IEnumInterfaceInfo **ppBlockEnum );
|
||
|
};
|
||
|
|
||
|
cpp_quote("#define DeclareIEnumInterfaceInfoMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD(Next)(THIS_ ULONG uNum, IInterfaceInfo **ppBlock, \\")
|
||
|
cpp_quote(" ULONG *pNumReturned) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Skip)(THIS_ ULONG uNum) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Reset)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Clone)(THIS_ IEnumInterfaceInfo **ppBlockEnum) IPURE; \\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IRouterAdminAccess
|
||
|
---------------------------------------------------------------------------*/
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB1F-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
|
||
|
interface IRouterAdminAccess : IUnknown
|
||
|
{
|
||
|
// Returns TRUE if the SetInfo() has been called, FALSE otherwise
|
||
|
BOOL IsAdminInfoSet();
|
||
|
|
||
|
// Retrieves the component parts of the info
|
||
|
LPCOLESTR GetUserName();
|
||
|
LPCOLESTR GetDomainName();
|
||
|
|
||
|
// This does NOT allocate space. Do NOT free this up.
|
||
|
HRESULT GetUserPassword(BYTE *pByte, int *pcPassword);
|
||
|
|
||
|
//
|
||
|
// Sets the information
|
||
|
// Note : the cPassword is needed, because the pszPassword should
|
||
|
// not be in cleartext!
|
||
|
//
|
||
|
HRESULT SetInfo(LPCOLESTR pszName,
|
||
|
LPCOLESTR pszDomain,
|
||
|
BYTE *pszPassword,
|
||
|
int cPassword);
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
cpp_quote("#define DeclareIRouterAdminAccessMembers(IPURE) \\")
|
||
|
cpp_quote(" STDMETHOD_(BOOL, IsAdminInfoSet)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetUserName)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetDomainName)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(GetUserPassword)(THIS_ BYTE *pByte, \\")
|
||
|
cpp_quote(" int *pcPassword) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetInfo)(THIS_ LPCOLESTR pszName, \\")
|
||
|
cpp_quote(" LPCOLESTR pszDomain,\\")
|
||
|
cpp_quote(" BYTE * pPassword, int cPassword) IPURE;\\")
|
||
|
cpp_quote("")
|
||
|
|
||
|
|
||
|
cpp_quote("// IRouterInfo")
|
||
|
cpp_quote("// To make AutoRefresh to a group of IRouterInfo(s), assign an external Refresh Object")
|
||
|
cpp_quote("// Without setting the ExternalRefreshObject, IRouterInfo will create up reqest by GetRefreshObject")
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
IRouterInfo
|
||
|
---------------------------------------------------------------------------*/
|
||
|
[
|
||
|
object,
|
||
|
uuid(66A2DB02-D706-11d0-A37B-00C04FC9DA04),
|
||
|
local,
|
||
|
pointer_default(unique),
|
||
|
]
|
||
|
|
||
|
interface IRouterInfo : IRouterRefreshAccess
|
||
|
{
|
||
|
DWORD GetFlags();
|
||
|
HRESULT SetFlags([in] DWORD dwFlags);
|
||
|
|
||
|
|
||
|
HRESULT Load([in,string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine
|
||
|
);
|
||
|
|
||
|
HRESULT Save([in,string] LPCOLESTR pszMachine,
|
||
|
[in] HANDLE hMachine );
|
||
|
|
||
|
HRESULT Unload( );
|
||
|
|
||
|
|
||
|
HRESULT Merge([in] IRouterInfo *pNewRouterInfo);
|
||
|
|
||
|
HRESULT SetExternalRefreshObject([in] IRouterRefresh* pRouterRefresh);
|
||
|
|
||
|
|
||
|
HRESULT CopyCB([in,out] RouterCB *pRouterCB);
|
||
|
|
||
|
LPCOLESTR GetMachineName();
|
||
|
DWORD GetRouterType();
|
||
|
HRESULT GetRouterVersionInfo([out] RouterVersionInfo *pVerInfo);
|
||
|
|
||
|
HRESULT EnumRtrMgrCB([out] IEnumRtrMgrCB **ppEnumRtrMgrCB);
|
||
|
HRESULT EnumInterfaceCB([out] IEnumInterfaceCB **ppEnumInterfaceCB);
|
||
|
HRESULT EnumRtrMgrProtocolCB([out] IEnumRtrMgrProtocolCB **ppEnumRmProtCB);
|
||
|
HRESULT EnumRtrMgrInterfaceCB([out] IEnumRtrMgrInterfaceCB **ppEnumRmIfCB);
|
||
|
HRESULT EnumRtrMgrProtocolInterfaceCB([out] IEnumRtrMgrProtocolInterfaceCB **ppEnumRmProtIfCB);
|
||
|
|
||
|
|
||
|
HRESULT EnumRtrMgr([out] IEnumRtrMgrInfo **ppEnumRtrMgr);
|
||
|
HRESULT FindRtrMgr([in] DWORD dwTransportId,
|
||
|
[out] IRtrMgrInfo **ppInfo);
|
||
|
HRESULT AddRtrMgr([in] IRtrMgrInfo *pInfo,
|
||
|
[in] IInfoBase *pGlobalInfo,
|
||
|
[in] IInfoBase *pClientInfo);
|
||
|
HRESULT DeleteRtrMgr([in] DWORD dwTransportId, BOOL fRemove);
|
||
|
HRESULT ReleaseRtrMgr([in] DWORD dwTransportId);
|
||
|
|
||
|
HRESULT EnumInterface([out] IEnumInterfaceInfo **ppEnumInterface);
|
||
|
HRESULT FindInterface([in,string] LPCOLESTR pszInterface,
|
||
|
[out] IInterfaceInfo **ppInfo);
|
||
|
HRESULT AddInterface([in] IInterfaceInfo *pInfo);
|
||
|
HRESULT DeleteInterface([in,string] LPCOLESTR pszInterface, BOOL fRemove);
|
||
|
HRESULT ReleaseInterface([in, string] LPCOLESTR pszInterface);
|
||
|
|
||
|
HRESULT RtrAdvise([in] IRtrAdviseSink *pRtrAdviseSink,
|
||
|
[out] LONG_PTR *pulConnection,
|
||
|
[in] LPARAM lUserParam);
|
||
|
HRESULT RtrNotify([in] DWORD dwChangeType, [in] DWORD dwObjectType,
|
||
|
[in] LPARAM lParam);
|
||
|
HRESULT RtrUnadvise([in] LONG_PTR ulConnection);
|
||
|
|
||
|
// Tell the object that it should remove all connections to the
|
||
|
// running router
|
||
|
HRESULT DoDisconnect();
|
||
|
|
||
|
HRESULT AddWeakRef();
|
||
|
HRESULT ReleaseWeakRef();
|
||
|
HRESULT Destruct();
|
||
|
};
|
||
|
|
||
|
|
||
|
cpp_quote("#define DeclareIRouterInfoMembers(IPURE)\\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetFlags)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetFlags)(THIS_ DWORD dwFlags) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Load)(THIS_ LPCOLESTR pszMachine,\\")
|
||
|
cpp_quote(" HANDLE hMachine) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Save)(THIS_ LPCOLESTR pszMachine,\\")
|
||
|
cpp_quote(" HANDLE hMachine ) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(Unload)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Merge)(THIS_ IRouterInfo *pNewRouterInfo) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(SetExternalRefreshObject)(THIS_ IRouterRefresh *pRefresh) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(CopyCB)(THIS_ RouterCB *pRouterCB) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD_(LPCOLESTR, GetMachineName)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD_(DWORD, GetRouterType)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(GetRouterVersionInfo)(THIS_ RouterVersionInfo *pVerInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(EnumRtrMgrCB)(THIS_ IEnumRtrMgrCB **ppEnumRtrMgrCB) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(EnumInterfaceCB)(THIS_ IEnumInterfaceCB **ppEnumInterfaceCB) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(EnumRtrMgrProtocolCB)(THIS_ IEnumRtrMgrProtocolCB **ppEnumRmProtCB) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(EnumRtrMgrInterfaceCB)(THIS_ IEnumRtrMgrInterfaceCB **ppEnumRmIfCB) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(EnumRtrMgrProtocolInterfaceCB)(THIS_ IEnumRtrMgrProtocolInterfaceCB **ppEnumRmProtIfCB) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(EnumRtrMgr)(THIS_ IEnumRtrMgrInfo **ppEnumRtrMgr) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(FindRtrMgr)(THIS_ DWORD dwTransportId,\\")
|
||
|
cpp_quote(" IRtrMgrInfo **ppInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(AddRtrMgr)(THIS_ IRtrMgrInfo *pInfo,\\")
|
||
|
cpp_quote(" IInfoBase *pGlobalInfo,\\")
|
||
|
cpp_quote(" IInfoBase *pClientInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(DeleteRtrMgr)(THIS_ DWORD dwTransportId, BOOL fRemove) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseRtrMgr)(THIS_ DWORD dwTransportId) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(EnumInterface)(THIS_ IEnumInterfaceInfo **ppEnumInterface) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(FindInterface)(THIS_ LPCOLESTR pszInterface,\\")
|
||
|
cpp_quote(" IInterfaceInfo **ppInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(AddInterface)(THIS_ IInterfaceInfo *pInfo) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(DeleteInterface)(THIS_ LPCOLESTR pszInterface, BOOL fRemove) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseInterface)(THIS_ LPCOLESTR pszInterface) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RtrAdvise)(THIS_ IRtrAdviseSink *pRtrAdviseSink,\\")
|
||
|
cpp_quote(" LONG_PTR *pulConnection, LPARAM lUserParam) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(RtrNotify)(THIS_ DWORD dwChangeType, DWORD objtype, LPARAM lParam) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(RtrUnadvise)(THIS_ LONG_PTR ulConnection) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(DoDisconnect)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(AddWeakRef)(THIS) IPURE;\\")
|
||
|
cpp_quote(" STDMETHOD(ReleaseWeakRef)(THIS) IPURE; \\")
|
||
|
cpp_quote(" STDMETHOD(Destruct)(THIS) IPURE; \\")
|
||
|
cpp_quote(" ")
|
||
|
|
||
|
|
||
|
|
||
|
#endif // _ROUTER_IDL_
|