//+-------------------------------------------------------------------------
//
//  Microsoft Windows
//
//  Copyright (C) Microsoft Corporation, 1998 - 1999
//
//  File:       remras.idl
//
//--------------------------------------------------------------------------

// remrras.idl : IDL source for remrras.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (remrras.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
import "wtypes.idl";
import "netcfgp.idl";

	
	[
		uuid(66A2DB1e-D706-11d0-A37B-00C04FC9DA04),
	
		helpstring("IRemoteTCPIPChangeNotify Interface"),
		pointer_default(unique)
	]
	interface IRemoteTCPIPChangeNotify : IUnknown
	{
		HRESULT NotifyChanges([in] BOOL fEnableRouter,
                          	  [in] BYTE uPerformRouterDiscovery);
	};


	[
		uuid(66A2DB1a-D706-11d0-A37B-00C04FC9DA04),
	
		helpstring("IRemoteRouterConfig Interface"),
		pointer_default(unique)
	]
	interface IRemoteRouterConfig : IUnknown
	{
		HRESULT SetRasEndpoints([in] DWORD dwFlags,
								[in] DWORD dwTotalEndpoints,
								[in] DWORD dwTotalIncoming,
								[in] DWORD dwTotalOutgoing);
		
		HRESULT GetIpxVirtualNetworkNumber([out] DWORD *pdwVNetworkNumber);
		HRESULT SetIpxVirtualNetworkNumber([in] DWORD dwVNetworkNumber);
		
		// The following two methods are for remote tcpip configuration.
		typedef struct tagREMOTE_RRAS_IPINFO
			{
			DWORD   dwEnableDhcp;
			BSTR	bstrIpAddrList;
			BSTR	bstrSubnetMaskList;
			BSTR	bstrOptionList;
			} REMOTE_RRAS_IPINFO;

		HRESULT GetIpInfo([in] const GUID *pGuid,
						  [out] REMOTE_RRAS_IPINFO **ppInfo);
		HRESULT SetIpInfo([in] const GUID *pGuid,
						  [in] REMOTE_RRAS_IPINFO *pIpInfo);

	};


	[
		uuid(66A2DB1B-D706-11d0-A37B-00C04FC9DA04),
	
		helpstring("IRemoteNetworkConfig Interface"),
		pointer_default(unique)
	]
	interface IRemoteNetworkConfig : IUnknown
	{
		HRESULT UpgradeRouterConfig();
		HRESULT	SetUserConfig([in] LPCOLESTR pszService,
							  [in] LPCOLESTR pszNewGroup);
	};

	
	[
		uuid(66A2DB20-D706-11d0-A37B-00C04FC9DA04),
	
		helpstring("IRemoteRouterRestart Interface"),
		pointer_default(unique)
	]
	interface IRemoteRouterRestart : IUnknown
	{
        HRESULT RestartRouter([in] DWORD dwFlags);
	};

	
[
    uuid(66A2DB80-D706-11d0-A37B-00C04FC9DA04),
	version(1.0),
	helpstring("remrras 1.0 Type Library")
]
library REMRRASLib
{
	importlib("stdole2.tlb");

	[
		uuid(1AA7F844-C7F5-11d0-A376-00C04FC9DA04),
		helpstring("RemCfg Class")
	]
	coclass RemoteRouterConfig
	{
		[default] interface IRemoteRouterConfig;
		interface IRemoteNetworkConfig;
	};
};
