INetworkCostManager::GetCost 方法 (netlistmgr.h)

GetCost 方法检索计算机范围的 Internet 连接或路由到连接上特定目标的第一跃点的当前成本。 如果 destIPaddr 为 NULL,则此方法改为返回用于计算机范围的 Internet 连接的网络的成本。

语法

HRESULT GetCost(
  [out] DWORD        *pCost,
  [in]  NLM_SOCKADDR *pDestIPAddr
);

参数

[out] pCost

指示连接成本的 DWORD 值。 最低 16 位表示成本级别,最高 16 位表示标志。 可能的值由 NLM_CONNECTION_COST 枚举定义。

[in] pDestIPAddr

包含目标 IPv4/IPv6 地址 的NLM_SOCKADDR 结构。 如果为 NULL,此方法将改为返回与用于计算机 Internet 连接的首选连接相关的成本。

返回值

成功时返回S_OK,否则返回 HRESULT 错误代码。

返回代码 说明
E_POINTER
pCost 为 NULL
E_PENDING
当前正在确定用于路由到目标的接口
E_INVALIDARG
destIPAddr 指定的目标 IPv4/IPv6 地址无效。
HRESULT_FROM_WIN32 (ERROR_NOT_SUPPORTED)
不支持该请求。 如果本地计算机上不存在 IPv4 或 IPv6 堆栈,但 destIPAddr 指定了 IPv4 或 IPv6 地址,则返回此错误。
HRESULT_FROM_WIN32 (ERROR_NO_NETWORK)
网络连接当前不可用。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 netlistmgr.h

另请参阅

INetworkCostManager

NLM_SOCKADDR