windows-nt/Source/XPSP1/NT/public/internal/net/inc/netconp.idl
2020-09-26 16:20:57 +08:00

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("")