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