893 lines
24 KiB
Plaintext
893 lines
24 KiB
Plaintext
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// File: netconp.idl
|
|
//
|
|
// Private connections interfaces.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
cpp_quote("//+-------------------------------------------------------------------------")
|
|
cpp_quote("//")
|
|
cpp_quote("// Microsoft Windows")
|
|
cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
|
|
cpp_quote("//")
|
|
cpp_quote("//--------------------------------------------------------------------------")
|
|
|
|
cpp_quote("#if ( _MSC_VER >= 800 )")
|
|
cpp_quote("#pragma warning(disable:4201)")
|
|
cpp_quote("#endif")
|
|
|
|
#ifndef DO_NO_IMPORTS
|
|
import "objidl.idl";
|
|
import "netcon.idl";
|
|
import "netcfgx.idl";
|
|
import "netcfgp.idl";
|
|
#endif
|
|
import "upnp.idl";
|
|
|
|
cpp_quote("")
|
|
cpp_quote("EXTERN_C const CLSID CLSID_NetConnectionUiUtilities;")
|
|
cpp_quote("EXTERN_C const CLSID CLSID_NetConnectionHNetUtil;")
|
|
cpp_quote("EXTERN_C const CLSID GUID_NETSHELL_PROPS;")
|
|
cpp_quote("EXTERN_C const CLSID CLSID_ConnectionManager2;")
|
|
cpp_quote("")
|
|
|
|
// Reserved GUIDS for our use
|
|
//
|
|
// FAEDCF50-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionUiLock
|
|
// FAEDCF51-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionWizardUi
|
|
// FAEDCF52-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionWizardUiContext
|
|
// FAEDCF53-31FE-11D1-AAD2-00805FC1270E IID_INetInboundConnection
|
|
// FAEDCF54-31FE-11D1-AAD2-00805FC1270E IID_INetLanConnection
|
|
// FAEDCF55-31FE-11D1-AAD2-00805FC1270E IID_INetSharedAccessConnection
|
|
// FAEDCF56-31FE-11D1-AAD2-00805FC1270E IID_INetLanConnectionWizardUi
|
|
// FAEDCF57-31FE-11D1-AAD2-00805FC1270E IID_INetRasConnection
|
|
// FAEDCF58-31FE-11D1-AAD2-00805FC1270E IID_INetRasConnectionIpUiInfo
|
|
// FAEDCF59-31FE-11D1-AAD2-00805FC1270E IID_IPersistNetConnection
|
|
// FAEDCF5A-31FE-11D1-AAD2-00805FC1270E
|
|
// FAEDCF5B-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionBrandingInfo
|
|
// FAEDCF5C-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionNotifySink
|
|
// FAEDCF5D-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionManagerDebug
|
|
// FAEDCF5E-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionUiUtilities
|
|
// FAEDCF5F-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionRefresh
|
|
// FAEDCF60-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionCMUtil
|
|
// FAEDCF61-31FE-11D1-AAD2-00805FC1270E
|
|
// FAEDCF62-31FE-11D1-AAD2-00805FC1270E
|
|
// FAEDCF63-31FE-11D1-AAD2-00805FC1270E
|
|
// FAEDCF64-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionHNetUtil
|
|
// FAEDCF65-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionSysTray
|
|
// FAEDCF66-31FE-11D1-AAD2-00805FC1270E IID_INetDefaultConnection
|
|
// FAEDCF67-31FE-11D1-AAD2-00805FC1270E IID_ISharedAccessBeaconFinder
|
|
// FAEDCF68-31FE-11D1-AAD2-00805FC1270E IID_INetMachinePolicies
|
|
// FAEDCF69-31FE-11D1-AAD2-00805FC1270E IID_INetConnectionManager2
|
|
// FAEDCF6A-31FE-11D1-AAD2-00805FC1270E IID_INetConnection2
|
|
// FAEDCF6B-31FE-11D1-AAD2-00805FC1270E IID_ISharedAccessBeacon
|
|
// FAEDCF6C-31FE-11D1-AAD2-00805FC1270E
|
|
// ...
|
|
// FAEDCFA3-31FE-11D1-AAD2-00805FC1270E
|
|
// FAEDCFA4-31FE-11D1-AAD2-00805FC1270E
|
|
// FAEDCFA5-31FE-11D1-AAD2-00805FC1270E
|
|
|
|
interface INetConnectionUiLock;
|
|
interface INetConnectionWizardUi;
|
|
interface INetConnectionWizardUiContext;
|
|
interface INetInboundConnection;
|
|
interface INetLanConnection;
|
|
interface INetSharedAccessConnection;
|
|
interface INetLanConnectionWizardUi;
|
|
interface INetRasConnection;
|
|
interface INetRasConnectionIpUiInfo;
|
|
interface IPersistNetConnection;
|
|
interface INetConnectionBrandingInfo;
|
|
interface INetConnectionNotifySink;
|
|
interface INetConnectionUiUtilities;
|
|
interface INetConnectionRefresh;
|
|
interface INetConnectionCMUtil;
|
|
interface INetConnectionHNetUtil;
|
|
interface INetConnectionSysTray;
|
|
interface INetDefaultConnection;
|
|
interface ISharedAccessBeaconFinder;
|
|
interface INetMachinePolicies;
|
|
interface INetConnectionManager2;
|
|
interface INetConnection2;
|
|
|
|
//#if DBG
|
|
interface INetConnectionManagerDebug;
|
|
//#endif
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetConnectionUiLock -
|
|
//
|
|
[
|
|
local,
|
|
object,
|
|
uuid(FAEDCF50-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionUiLock : IUnknown
|
|
{
|
|
HRESULT QueryLock (
|
|
[out, string] LPWSTR* ppszwLockHolder);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetConnectionWizardUi -
|
|
//
|
|
[
|
|
local,
|
|
object,
|
|
uuid(FAEDCF51-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionWizardUi : IUnknown
|
|
{
|
|
HRESULT QueryMaxPageCount (
|
|
[in] INetConnectionWizardUiContext* pContext,
|
|
[out] DWORD* pcMaxPages);
|
|
|
|
HRESULT AddPages (
|
|
[in] INetConnectionWizardUiContext* pContext,
|
|
[in] LPFNADDPROPSHEETPAGE pfnAddPage,
|
|
[in] LPARAM lParam);
|
|
|
|
typedef enum tagNETCON_WIZARD_FLAGS
|
|
{
|
|
NCWF_RENAME_DISABLE = 0x0001,
|
|
NCWF_SHORTCUT_ENABLE = 0x0002,
|
|
NCWF_ALLUSER_CONNECTION= 0x0004,
|
|
NCWF_GLOBAL_CREDENTIALS= 0x0008,
|
|
NCWF_FIREWALLED = 0x0010,
|
|
NCWF_DEFAULT = 0x0020,
|
|
NCWF_SHARED = 0x0040,
|
|
NCWF_INCOMINGCONNECTION= 0x0080,
|
|
} NETCON_WIZARD_FLAGS;
|
|
|
|
HRESULT GetNewConnectionInfo(
|
|
[out] DWORD* pdwFlags,
|
|
[out] NETCON_MEDIATYPE* pMediaType);
|
|
|
|
HRESULT GetSuggestedConnectionName (
|
|
[out, string] LPWSTR* pszwSuggestedName);
|
|
|
|
HRESULT SetConnectionName (
|
|
[in, string] LPCWSTR pszwConnectionName);
|
|
|
|
HRESULT GetNewConnection(
|
|
[out] INetConnection** ppCon);
|
|
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetConnectionWizardUiContext -
|
|
//
|
|
[
|
|
local,
|
|
object,
|
|
uuid(FAEDCF52-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionWizardUiContext : IUnknown
|
|
{
|
|
typedef enum tagSETUP_MODE_FLAGS
|
|
{
|
|
NCWUC_SETUPMODE_MINIMAL = 0x0,
|
|
NCWUC_SETUPMODE_TYPICAL = 0x1,
|
|
NCWUC_SETUPMODE_LAPTOP = 0x2,
|
|
NCWUC_SETUPMODE_CUSTOM = 0x3,
|
|
} SETUP_MODE_FLAGS;
|
|
|
|
typedef enum tagUNATTENDED_MODE_FLAGS
|
|
{
|
|
UM_DEFAULTHIDE = 0x1,
|
|
UM_GUIATTENDED = 0x2,
|
|
UM_PROVIDEDEFAULT = 0x3,
|
|
UM_READONLY = 0x4,
|
|
UM_FULLUNATTENDED = 0x5
|
|
} UM_MODE;
|
|
|
|
typedef enum tagPRODUCT_TYPE_FLAGS
|
|
{
|
|
NCWUC_PRODUCT_WORKSTATION = 0x0,
|
|
NCWUC_PRODUCT_SERVER_DC = 0x1,
|
|
NCWUC_PRODUCT_SERVER_STANDALONE = 0x2,
|
|
} PRODUCT_TYPE_FLAGS;
|
|
|
|
typedef enum tagOPERATION_FLAGS
|
|
{
|
|
NCWUC_SETUPOPER_UPGRADE = 0x4,
|
|
NCWUC_SETUPOPER_UNATTENDED = 0x8,
|
|
NCWUC_SETUPOPER_POSTINSTALL = 0x10,
|
|
} OPERATION_FLAGS;
|
|
|
|
DWORD GetSetupMode();
|
|
DWORD GetProductType();
|
|
DWORD GetOperationFlags();
|
|
DWORD GetUnattendedModeFlags();
|
|
HRESULT GetINetCfg(
|
|
[out] INetCfg ** ppINetCfg);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetInboundConnection -
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF53-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetInboundConnection : IUnknown
|
|
{
|
|
HRESULT GetServerConnectionHandle (
|
|
[out] ULONG_PTR* phRasSrvCon);
|
|
|
|
HRESULT InitializeAsConfigConnection (
|
|
[in] BOOL fStartRemoteAccess);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetLanConnection -
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF54-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetLanConnection : IUnknown
|
|
{
|
|
typedef enum tagLANCON_INFO_FLAGS
|
|
{
|
|
LCIF_NAME = 0x1,
|
|
LCIF_ICON = 0x2,
|
|
LCIF_COMP = 0x8,
|
|
LCIF_ALL = 0xFF,
|
|
} LANCON_INFO_FLAGS;
|
|
|
|
typedef struct tagLANCON_INFO
|
|
{
|
|
[string] LPWSTR szwConnName;
|
|
BOOL fShowIcon;
|
|
GUID guid;
|
|
} LANCON_INFO;
|
|
|
|
HRESULT GetInfo (
|
|
[in] DWORD dwMask,
|
|
[out] LANCON_INFO* pLanConInfo);
|
|
|
|
HRESULT SetInfo (
|
|
[in] DWORD dwMask,
|
|
[in] const LANCON_INFO* pLanConInfo);
|
|
|
|
HRESULT GetDeviceGuid (
|
|
[out, ref] GUID* pguid);
|
|
};
|
|
|
|
// Export functions and protptype typedefs
|
|
//
|
|
cpp_quote("")
|
|
cpp_quote("EXTERN_C HRESULT WINAPI HrLanConnectionNameFromGuidOrPath (")
|
|
cpp_quote(" /* [in] */ const GUID* pguid,")
|
|
cpp_quote(" /* [in] */ LPCWSTR pszwPath,")
|
|
cpp_quote(" /* [out] */ LPWSTR pszwName,")
|
|
cpp_quote(" /* [inout] */ LPDWORD pcchMax);")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("")
|
|
cpp_quote("typedef HRESULT")
|
|
cpp_quote("(WINAPI* PHRLANCONNECTIONNAMEFROMGUIDORPATH)(")
|
|
cpp_quote(" const GUID*,")
|
|
cpp_quote(" LPCWSTR,")
|
|
cpp_quote(" LPWSTR,")
|
|
cpp_quote(" LPDWORD")
|
|
cpp_quote(" );")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("")
|
|
cpp_quote("EXTERN_C HRESULT WINAPI HrPnpInstanceIdFromGuid (")
|
|
cpp_quote(" /* [in] */ const GUID* pguid,")
|
|
cpp_quote(" /* [out] */ LPWSTR szwInstance,")
|
|
cpp_quote(" /* [in] */ UINT cchInstance);")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("")
|
|
cpp_quote("typedef HRESULT")
|
|
cpp_quote("(WINAPI* PHRPNPINSTANCEIDFROMGUID)(")
|
|
cpp_quote(" const GUID*,")
|
|
cpp_quote(" LPWSTR,")
|
|
cpp_quote(" UINT")
|
|
cpp_quote(" );")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("")
|
|
cpp_quote("EXTERN_C HRESULT WINAPI HrGetPnpDeviceStatus (")
|
|
cpp_quote(" /* [in] */ const GUID* pguid,")
|
|
cpp_quote(" /* [out] */ NETCON_STATUS *pStatus);")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("")
|
|
cpp_quote("typedef HRESULT")
|
|
cpp_quote("(WINAPI* PHRGETPNPDEVICESTATUS)(")
|
|
cpp_quote(" const GUID*,")
|
|
cpp_quote(" NETCON_STATUS*")
|
|
cpp_quote(" );")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("")
|
|
cpp_quote("EXTERN_C HRESULT WINAPI HrQueryLanMediaState (")
|
|
cpp_quote(" /* [in] */ const GUID* pguid,")
|
|
cpp_quote(" /* [out] */ BOOL *pfEnabled);")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("")
|
|
cpp_quote("typedef HRESULT")
|
|
cpp_quote("(WINAPI* PHRQUERYLANMEDIASTATE)(")
|
|
cpp_quote(" const GUID*,")
|
|
cpp_quote(" BOOL*")
|
|
cpp_quote(" );")
|
|
cpp_quote("")
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetSharedAccessConnection -
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF55-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetSharedAccessConnection : IUnknown
|
|
{
|
|
typedef enum tagSHAREDACCESSCON_INFO_FLAGS
|
|
{
|
|
SACIF_ICON = 0x1,
|
|
SACIF_ALL = 0xFF,
|
|
} SHAREDACCESSCON_INFO_FLAGS;
|
|
|
|
typedef struct tagSHAREDACCESSCON_INFO
|
|
{
|
|
BOOL fShowIcon;
|
|
} SHAREDACCESSCON_INFO;
|
|
|
|
HRESULT GetInfo (
|
|
[in] DWORD dwMask,
|
|
[out] SHAREDACCESSCON_INFO* pLanConInfo);
|
|
|
|
HRESULT SetInfo (
|
|
[in] DWORD dwMask,
|
|
[in] const SHAREDACCESSCON_INFO* pLanConInfo);
|
|
|
|
|
|
typedef enum tagSAHOST_SERVICES
|
|
{
|
|
SAHOST_SERVICE_OSINFO = 0,
|
|
SAHOST_SERVICE_WANCOMMONINTERFACECONFIG,
|
|
SAHOST_SERVICE_WANIPCONNECTION,
|
|
SAHOST_SERVICE_WANPPPCONNECTION,
|
|
SAHOST_SERVICE_NATSTATICPORTMAPPING,
|
|
SAHOST_SERVICE_MAX,
|
|
} SAHOST_SERVICES;
|
|
|
|
HRESULT GetLocalAdapterGUID([out] GUID* pGuid);
|
|
HRESULT GetService([in] SAHOST_SERVICES ulService, [out] IUPnPService** ppService);
|
|
};
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetLanConnectionWizardUi -
|
|
//
|
|
[
|
|
local,
|
|
object,
|
|
uuid(FAEDCF56-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetLanConnectionWizardUi : IUnknown
|
|
{
|
|
HRESULT SetDeviceComponent (
|
|
[in] const GUID* pguid);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetRasConnection -
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF57-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetRasConnection : IUnknown
|
|
{
|
|
typedef struct tagRASCON_INFO
|
|
{
|
|
[string] LPWSTR pszwPbkFile;
|
|
[string] LPWSTR pszwEntryName;
|
|
GUID guidId;
|
|
} RASCON_INFO;
|
|
|
|
HRESULT GetRasConnectionInfo (
|
|
[out] RASCON_INFO* pRasConInfo);
|
|
|
|
HRESULT SetRasConnectionInfo (
|
|
[in] const RASCON_INFO* pRasConInfo);
|
|
|
|
HRESULT GetRasConnectionHandle(
|
|
[out] ULONG_PTR* phRasConn);
|
|
};
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetDefaultConnection -
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF66-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetDefaultConnection : IUnknown
|
|
{
|
|
HRESULT SetDefault ([in] BOOL bDefault);
|
|
|
|
HRESULT GetDefault ([out] BOOL* pbDefault);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetRasConnectionIpUiInfo -
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF58-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetRasConnectionIpUiInfo : IUnknown
|
|
{
|
|
typedef enum tagRASCON_IPUI_FLAGS
|
|
{
|
|
RCUIF_PPP = 0x01,
|
|
RCUIF_SLIP = 0x02,
|
|
RCUIF_USE_IP_ADDR = 0x04,
|
|
RCUIF_USE_NAME_SERVERS = 0x08,
|
|
RCUIF_USE_REMOTE_GATEWAY = 0x10,
|
|
RCUIF_USE_HEADER_COMPRESSION = 0x20,
|
|
RCUIF_VPN = 0x40,
|
|
RCUIF_DEMAND_DIAL = 0x80,
|
|
RCUIF_USE_DISABLE_REGISTER_DNS = 0x0100,
|
|
RCUIF_USE_PRIVATE_DNS_SUFFIX = 0x0200,
|
|
RCUIF_NOT_ADMIN = 0x0400,
|
|
RCUIF_ENABLE_NBT = 0x0800
|
|
} RASCON_UIINFO_FLAGS;
|
|
|
|
typedef struct tagRASCON_IPUI
|
|
{
|
|
// This is the GUID of the phonebook entry and can be used as the
|
|
// GUID of the 'fake' RAS adapter to TCP/IP.
|
|
//
|
|
GUID guidConnection;
|
|
|
|
// dwFlags defines how to interpret rest of the data.
|
|
// RCUIF_SLIP : pszwIpAddr et al. must be specified
|
|
// RCUIF_USE_IP_ADDR : use pszwIpAddr, otherwise automatic
|
|
// RCUIF_USE_NAME_SERVERS : use Dns and Wins address, otherwise automatic
|
|
// RCUIF_USE_REMOTE_GATEWAY : prioritize remote network
|
|
// RCUIF_USE_HEADER_COMPRESSION : use IP header compression
|
|
// RCUIF_VPN : use IP header compression should be disabled
|
|
//
|
|
DWORD dwFlags;
|
|
|
|
// 16 characters for an IP address is adequate for the form
|
|
// aaa.bbb.ccc.ddd\0
|
|
//
|
|
WCHAR pszwIpAddr [16];
|
|
WCHAR pszwDnsAddr [16];
|
|
WCHAR pszwDns2Addr [16];
|
|
WCHAR pszwWinsAddr [16];
|
|
WCHAR pszwWins2Addr [16];
|
|
DWORD dwFrameSize;
|
|
WCHAR pszwDnsSuffix[256];
|
|
|
|
} RASCON_IPUI;
|
|
|
|
HRESULT GetUiInfo (
|
|
[out] RASCON_IPUI* pInfo);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// IPersistNetConnection -
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF59-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPersistNetConnection : IPersist
|
|
{
|
|
HRESULT GetSizeMax (
|
|
[out] ULONG* pcbSize);
|
|
|
|
HRESULT Load (
|
|
[in, size_is(cbSize)] const BYTE* pbBuf,
|
|
[in] ULONG cbSize);
|
|
|
|
HRESULT Save (
|
|
[out, size_is(cbSize)] BYTE* pbBuf,
|
|
[in] ULONG cbSize);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// Network Connection Branding Information
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF5B-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionBrandingInfo : IUnknown
|
|
{
|
|
typedef struct tagCON_BRANDING_INFO
|
|
{
|
|
[string] LPWSTR szwLargeIconPath;
|
|
[string] LPWSTR szwSmallIconPath;
|
|
[string] LPWSTR szwTrayIconPath;
|
|
} CON_BRANDING_INFO;
|
|
|
|
HRESULT GetBrandingIconPaths(
|
|
[out] CON_BRANDING_INFO ** ppConBrandInfo);
|
|
|
|
typedef struct tagCON_TRAY_MENU_ENTRY
|
|
{
|
|
[string] LPWSTR szwMenuText;
|
|
[string] LPWSTR szwMenuCmdLine;
|
|
[string] LPWSTR szwMenuParams;
|
|
|
|
} CON_TRAY_MENU_ENTRY;
|
|
|
|
typedef struct tagCON_TRAY_MENU_DATA
|
|
{
|
|
DWORD dwCount;
|
|
[ size_is(dwCount) ] CON_TRAY_MENU_ENTRY * pctme;
|
|
} CON_TRAY_MENU_DATA;
|
|
|
|
HRESULT GetTrayMenuEntries(
|
|
[out] CON_TRAY_MENU_DATA ** ppMenuData);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// Network Connection 2 interfaces.
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF69-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionManager2 : IUnknown
|
|
{
|
|
HRESULT EnumConnectionProperties(
|
|
[out] LPSAFEARRAY* ppsaConnectionProperties);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(FAEDCF6A-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnection2 : IUnknown
|
|
{
|
|
typedef enum tagNETCON_SUBMEDIATYPE
|
|
{
|
|
NCSM_NONE,
|
|
NCSM_LAN,
|
|
NCSM_WIRELESS,
|
|
NCSM_ATM,
|
|
NCSM_ELAN,
|
|
NCSM_1394,
|
|
NCSM_DIRECT,
|
|
NCSM_IRDA,
|
|
NCSM_CM
|
|
} NETCON_SUBMEDIATYPE;
|
|
|
|
typedef struct tagNETCON_PROPERTIES_EX
|
|
{
|
|
DWORD dwSize;
|
|
GUID guidId;
|
|
BSTR bstrName;
|
|
BSTR bstrDeviceName;
|
|
NETCON_STATUS ncStatus;
|
|
NETCON_MEDIATYPE ncMediaType;
|
|
NETCON_SUBMEDIATYPE ncSubMediaType;
|
|
DWORD dwCharacter;
|
|
CLSID clsidThisObject;
|
|
CLSID clsidUiObject;
|
|
BSTR bstrPhoneOrHostAddress;
|
|
BSTR bstrPersistData;
|
|
} NETCON_PROPERTIES_EX;
|
|
|
|
HRESULT GetPropertiesEx(
|
|
[out] NETCON_PROPERTIES_EX** ppConnectionPropertiesEx);
|
|
};
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// Network Connection Notify Sink
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF5C-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionNotifySink : IUnknown
|
|
{
|
|
HRESULT
|
|
ConnectionAdded (
|
|
[in] const NETCON_PROPERTIES_EX* pPropsEx);
|
|
|
|
HRESULT
|
|
ConnectionBandWidthChange (
|
|
[in] const GUID* pguidId);
|
|
|
|
HRESULT
|
|
ConnectionDeleted (
|
|
[in] const GUID* pguidId);
|
|
|
|
HRESULT
|
|
ConnectionModified (
|
|
[in] const NETCON_PROPERTIES_EX* pPropsEx);
|
|
|
|
HRESULT
|
|
ConnectionRenamed (
|
|
[in] const GUID* pguidId,
|
|
[in, string] LPCWSTR pszwNewName);
|
|
|
|
HRESULT
|
|
ConnectionStatusChange (
|
|
[in] const GUID* pguidId,
|
|
[in] NETCON_STATUS Status);
|
|
|
|
HRESULT
|
|
RefreshAll ();
|
|
|
|
HRESULT
|
|
ConnectionAddressChange(
|
|
[in] const GUID* pguidId );
|
|
|
|
HRESULT
|
|
ShowBalloon (
|
|
[in] const GUID* pguidId,
|
|
[in] const BSTR szCookie,
|
|
[in] const BSTR szBalloonText);
|
|
|
|
HRESULT
|
|
DisableEvents (
|
|
[in] const BOOL fDisable,
|
|
[in] const ULONG ulDisableTimeout);
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetConnectionUiUtilities -
|
|
//
|
|
[
|
|
local,
|
|
object,
|
|
uuid(FAEDCF5E-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionUiUtilities : IUnknown
|
|
{
|
|
HRESULT QueryUserAndRemoveComponent(
|
|
HWND hwndParent,
|
|
INetCfg* pnc,
|
|
INetCfgComponent* pncc);
|
|
|
|
typedef enum tagQUERY_USER_FOR_REBOOT_FLAGS
|
|
{
|
|
QUFR_PROMPT = 0x1,
|
|
QUFR_REBOOT = 0x2
|
|
} QUERY_USER_FOR_REBOOT_FLAGS;
|
|
|
|
HRESULT QueryUserForReboot(
|
|
HWND hwndParent,
|
|
LPCTSTR pszCaption,
|
|
DWORD dwFlags);
|
|
|
|
HRESULT DisplayAddComponentDialog (
|
|
HWND hwndParent,
|
|
INetCfg* pnc,
|
|
CI_FILTER_INFO* pcfi);
|
|
|
|
typedef enum tagNCPERM_FLAGS
|
|
{
|
|
NCPERM_NewConnectionWizard = 0,
|
|
NCPERM_Statistics = 1,
|
|
NCPERM_AddRemoveComponents = 2,
|
|
NCPERM_RasConnect = 3,
|
|
NCPERM_LanConnect = 4,
|
|
NCPERM_DeleteConnection = 5,
|
|
NCPERM_DeleteAllUserConnection = 6,
|
|
NCPERM_RenameConnection = 7,
|
|
NCPERM_RenameMyRasConnection = 8,
|
|
NCPERM_ChangeBindState = 9,
|
|
NCPERM_AdvancedSettings = 10,
|
|
NCPERM_DialupPrefs = 11,
|
|
NCPERM_LanChangeProperties = 12,
|
|
NCPERM_RasChangeProperties = 13,
|
|
NCPERM_LanProperties = 14,
|
|
NCPERM_RasMyProperties = 15,
|
|
NCPERM_RasAllUserProperties = 16,
|
|
NCPERM_ShowSharedAccessUi = 17,
|
|
NCPERM_AllowAdvancedTCPIPConfig = 18,
|
|
NCPERM_OpenConnectionsFolder = 19,
|
|
NCPERM_PersonalFirewallConfig = 20,
|
|
NCPERM_AllowNetBridge_NLA = 21,
|
|
NCPERM_ICSClientApp = 22,
|
|
NCPERM_EnDisComponentsAllUserRas = 23,
|
|
NCPERM_EnDisComponentsMyRas = 24,
|
|
NCPERM_ChangeMyRasProperties = 25,
|
|
NCPERM_ChangeAllUserRasProperties = 26,
|
|
NCPERM_RenameLanConnection = 27,
|
|
NCPERM_RenameAllUserRasConnection = 28,
|
|
NCPERM_IpcfgOperation = 29,
|
|
NCPERM_Repair = 30
|
|
} NCPERM_FLAGS;
|
|
|
|
BOOL UserHasPermission(DWORD dwPerm);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(FAEDCF5F-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionRefresh : IUnknown
|
|
{
|
|
HRESULT
|
|
RefreshAll();
|
|
|
|
HRESULT
|
|
ConnectionAdded(
|
|
[in] INetConnection* pConnection);
|
|
|
|
HRESULT
|
|
ConnectionDeleted (
|
|
[in] const GUID* pguidId);
|
|
|
|
HRESULT
|
|
ConnectionModified (
|
|
[in] INetConnection* pConnection);
|
|
|
|
HRESULT
|
|
ConnectionRenamed (
|
|
[in] INetConnection* pConnection);
|
|
|
|
HRESULT
|
|
ConnectionStatusChanged (
|
|
[in] const GUID* pguidId,
|
|
[in] const NETCON_STATUS ncs );
|
|
|
|
HRESULT
|
|
ShowBalloon (
|
|
[in] const GUID* pguidId,
|
|
[in] const BSTR szCookie,
|
|
[in] const BSTR szBalloonText);
|
|
|
|
HRESULT
|
|
DisableEvents (
|
|
[in] const BOOL fDisable,
|
|
[in] const ULONG ulDisableTimeout);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(FAEDCF60-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionCMUtil : IUnknown
|
|
{
|
|
HRESULT MapCMHiddenConnectionToOwner([in] REFGUID guidHidden, [out] GUID * pguidOwner);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(FAEDCF64-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionHNetUtil : IUnknown
|
|
{
|
|
HRESULT NotifyUpdate();
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetConnectionSysTray -
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF65-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionSysTray : IUnknown
|
|
{
|
|
HRESULT ShowIcon(
|
|
[in] const BOOL bShowIcon);
|
|
HRESULT IconStateChanged();
|
|
};
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// INetConnectionMachinePolicies -
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF68-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetMachinePolicies : IUnknown
|
|
{
|
|
HRESULT VerifyPermission(
|
|
[in] const DWORD ulPerm,
|
|
[out] BOOL* pPermission);
|
|
};
|
|
|
|
|
|
//#if DBG DBG not defined for MIDL :(
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// Network Connection Debug interface
|
|
//
|
|
[
|
|
object,
|
|
uuid(FAEDCF5D-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface INetConnectionManagerDebug : IUnknown
|
|
{
|
|
HRESULT
|
|
NotifyTestStart ();
|
|
|
|
HRESULT
|
|
NotifyTestStop ();
|
|
};
|
|
|
|
//#endif // DBG
|
|
|
|
|
|
[
|
|
uuid(FAEDCF6B-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface ISharedAccessBeacon : IUnknown
|
|
{
|
|
HRESULT GetMediaType([out] NETCON_MEDIATYPE* pMediaType);
|
|
HRESULT GetLocalAdapterGUID([out] GUID* pGuid);
|
|
HRESULT GetService([in] SAHOST_SERVICES ulService, [out] IUPnPService**);
|
|
HRESULT GetUniqueDeviceName([out] BSTR* pUDN);
|
|
};
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// Shared Access Beacon Finder - This interface is for CSharedAccessConnection only, others should go through INetSharedAccessConnection
|
|
//
|
|
[
|
|
uuid(FAEDCF67-31FE-11D1-AAD2-00805FC1270E),
|
|
pointer_default(unique)
|
|
]
|
|
interface ISharedAccessBeaconFinder : IUnknown
|
|
{
|
|
typedef struct tagSHAREDACCESS_HOST_INFO
|
|
{
|
|
BSTR WANAccessType;
|
|
IUPnPService* pOSInfo;
|
|
IUPnPService* pWANCommonInterfaceConfig;
|
|
IUPnPService* pWANConnection;
|
|
GUID LocalAdapterGuid;
|
|
} SHAREDACCESS_HOST_INFO;
|
|
|
|
HRESULT GetSharedAccessBeacon([in] BSTR DeviceId, [out] ISharedAccessBeacon** ppSharedAccessBeacon);
|
|
};
|
|
|
|
cpp_quote("")
|
|
cpp_quote("EXTERN_C HRESULT WINAPI HrGetIconFromMediaType (")
|
|
cpp_quote(" /* [in] */ DWORD dwIconSize,")
|
|
cpp_quote(" /* [in] */ NETCON_MEDIATYPE ncm,")
|
|
cpp_quote(" /* [in] */ NETCON_SUBMEDIATYPE ncsm,")
|
|
cpp_quote(" /* [in] */ DWORD dwConnectionIcon,")
|
|
cpp_quote(" /* [in] */ DWORD dwCharacteristics,")
|
|
cpp_quote(" /* [out] */ HICON *phIcon);")
|
|
cpp_quote("")
|