IsNetworkAlive 函数 (sensapi.h)

IsNetworkAlive 函数确定本地系统是否连接到网络,并标识网络连接的类型,例如 LAN 和/或 WAN。

语法

BOOL IsNetworkAlive(
  [out] LPDWORD lpdwFlags
);

参数

[out] lpdwFlags

可用的网络连接类型。 此参数可能是以下值之一:

NETWORK_ALIVE_LAN

计算机有一个或多个处于活动状态的 LAN 卡。

NETWORK_ALIVE_WAN

计算机具有一个或多个活动 RAS 连接。

返回值

在检查此函数的返回代码之前,始终调用 GetLastError 。 如果最后一个错误不是 0,则 IsNetworkAlive 函数失败,并且以下 TRUEFALSE 值不适用。

返回代码 说明
TRUE
如果最后一个错误为 0 且函数返回 TRUE,则 SENS 已确定本地系统已连接到网络。

有关连接类型的信息,请参阅 lpdwFlags 参数。

FALSE
如果最后一个错误为 0,并且函数返回 FALSE,则 SENS 已确定没有连接。

注解

从为 Windows Vista 和 Windows Server 2008 设计的应用程序开始,开发人员应考虑使用 网络列表管理器 而不是此函数。

应用程序可以使用此函数来确定在继续网络操作之前是否存在网络连接。 应用程序、电子邮件客户端或 Internet 浏览器的目录服务类型可以适应各种类型的网络连接。 例如,打印操作可以延迟到网络连接可用。

应用程序调用 IsNetworkAlive 来确定本地系统是否与 LAN 断开连接可能并不总是可行的,因为 IsNetworkAlive 速度可能很慢,并且函数可能需要花费太多时间才能检测到本地系统已断开连接。 但是, IsNetworkAlive 目前始终可以识别 WAN 连接。

注意 此函数仅适用于 TCP/IP 连接。
 

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 sensapi.h
Library Sensapi.lib
DLL Sensapi.dll

另请参阅

关于系统事件通知服务

IsDestinationReachable