From afb98a38ae5761cc1d31b748b0f31401fbb720fd Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Wed, 5 Aug 2015 17:13:31 +0200 Subject: [PATCH] netprofm: Create a connection point object for INetworkConnectionEvents. --- dlls/netprofm/list.c | 3 ++- dlls/netprofm/tests/list.c | 4 ++++ include/netlistmgr.idl | 22 ++++++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/dlls/netprofm/list.c b/dlls/netprofm/list.c index 18081789809..245f7f4b30f 100644 --- a/dlls/netprofm/list.c +++ b/dlls/netprofm/list.c @@ -551,7 +551,8 @@ static HRESULT WINAPI ConnectionPointContainer_FindConnectionPoint(IConnectionPo return E_POINTER; if (IsEqualGUID( riid, &IID_INetworkListManagerEvents ) || - IsEqualGUID( riid, &IID_INetworkCostManagerEvents )) + IsEqualGUID( riid, &IID_INetworkCostManagerEvents ) || + IsEqualGUID( riid, &IID_INetworkConnectionEvents )) return connection_point_create( cp, riid, iface ); FIXME( "interface %s not implemented\n", debugstr_guid(riid) ); diff --git a/dlls/netprofm/tests/list.c b/dlls/netprofm/tests/list.c index 7e885c36468..1e1ba82db1e 100644 --- a/dlls/netprofm/tests/list.c +++ b/dlls/netprofm/tests/list.c @@ -116,6 +116,10 @@ static void test_INetworkListManager( void ) ok( hr == S_OK || hr == CO_E_FAILEDTOIMPERSONATE, "got %08x\n", hr ); if (hr == S_OK) IConnectionPoint_Release( pt ); + hr = IConnectionPointContainer_FindConnectionPoint( cpc, &IID_INetworkConnectionEvents, &pt ); + ok( hr == S_OK || hr == CO_E_FAILEDTOIMPERSONATE, "got %08x\n", hr ); + if (hr == S_OK) IConnectionPoint_Release( pt ); + IConnectionPointContainer_Release( cpc ); INetworkListManager_Release( mgr ); } diff --git a/include/netlistmgr.idl b/include/netlistmgr.idl index fd3ef77a881..e6328f41cfd 100644 --- a/include/netlistmgr.idl +++ b/include/netlistmgr.idl @@ -175,3 +175,25 @@ interface INetworkListManagerEvents : IUnknown HRESULT ConnectivityChanged( [in] NLM_CONNECTIVITY newConnectivity); } + +[ + object, + oleautomation, + pointer_default(unique), + uuid(dcb00007-570f-4a9b-8d69-199fdba5723b) +] +interface INetworkConnectionEvents : IUnknown +{ + typedef enum NLM_CONNECTION_PROPERTY_CHANGE + { + NLM_CONNECTION_PROPERTY_CHANGE_AUTHENTICATION = 1 + } NLM_CONNECTION_PROPERTY_CHANGE; + + HRESULT NetworkConnectionConnectivityChanged( + [in] GUID connectionId, + [in] NLM_CONNECTIVITY newConnectivity); + + HRESULT NetworkConnectionPropertyChanged( + [in] GUID connectionId, + [in] NLM_CONNECTION_PROPERTY_CHANGE flags); +}