netprofm: Create a connection point object for INetworkCostManagerEvents.

This commit is contained in:
Hans Leidekker 2015-07-24 10:34:15 +02:00 committed by Alexandre Julliard
parent 516b21f4ee
commit c42f38fd17
3 changed files with 24 additions and 2 deletions

View file

@ -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) );

View file

@ -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 );
}

View file

@ -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;
@ -107,6 +109,21 @@ interface INetworkCostManager : IUnknown
[in] VARIANT_BOOL bAppend);
}
[
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,