Hans Leidekker : netprofm: Create a connection point object for INetworkCostManagerEvents.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Jul 28 13:30:06 CDT 2015
Module: wine
Branch: master
Commit: c42f38fd17a954337b77cc6aaea187107599a4cb
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c42f38fd17a954337b77cc6aaea187107599a4cb
Author: Hans Leidekker <hans at codeweavers.com>
Date: Fri Jul 24 10:34:15 2015 +0200
netprofm: Create a connection point object for INetworkCostManagerEvents.
---
dlls/netprofm/list.c | 3 ++-
dlls/netprofm/tests/list.c | 6 +++++-
include/netlistmgr.idl | 17 +++++++++++++++++
3 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/dlls/netprofm/list.c b/dlls/netprofm/list.c
index 783b9cd..842f335 100644
--- a/dlls/netprofm/list.c
+++ b/dlls/netprofm/list.c
@@ -489,7 +489,8 @@ static HRESULT WINAPI ConnectionPointContainer_FindConnectionPoint(IConnectionPo
if (!riid || !cp)
return E_POINTER;
- if (IsEqualGUID( riid, &IID_INetworkListManagerEvents ))
+ if (IsEqualGUID( riid, &IID_INetworkListManagerEvents ) ||
+ IsEqualGUID( riid, &IID_INetworkCostManagerEvents ))
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 06a8086..7776f5c 100644
--- a/dlls/netprofm/tests/list.c
+++ b/dlls/netprofm/tests/list.c
@@ -103,8 +103,12 @@ static void test_INetworkListManager( void )
ok( hr == S_OK, "got %08x\n", hr );
ok( !memcmp( &iid, &IID_INetworkListManagerEvents, sizeof(iid) ),
"Expected iid to be IID_INetworkListManagerEvents\n" );
-
IConnectionPoint_Release( pt );
+
+ hr = IConnectionPointContainer_FindConnectionPoint( cpc, &IID_INetworkCostManagerEvents, &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 5d2c811..fd3ef77 100644
--- a/include/netlistmgr.idl
+++ b/include/netlistmgr.idl
@@ -68,6 +68,8 @@ typedef struct NLM_SOCKADDR
BYTE data[128];
} NLM_SOCKADDR;
+const UINT32 NLM_UNKNOWN_DATAPLAN_STATUS = 0xffffffff;
+
typedef struct NLM_USAGE_DATA
{
DWORD UsageInMegabytes;
@@ -108,6 +110,21 @@ interface INetworkCostManager : IUnknown
}
[
+ object,
+ pointer_default(unique),
+ uuid(dcb00009-570f-4a9b-8d69-199fdba5723b)
+]
+interface INetworkCostManagerEvents : IUnknown
+{
+ HRESULT CostChanged(
+ [in] DWORD newCost,
+ [in, unique] NLM_SOCKADDR *pDestAddr);
+
+ HRESULT DataPlanStatusChanged(
+ [in, unique] NLM_SOCKADDR *pDestAddr);
+}
+
+[
dual,
object,
oleautomation,
More information about the wine-cvs
mailing list