NetAddr_GetAddress宏 (shellapi.h)

指示网络地址是否符合指定的类型和格式。

语法

HRESULT NetAddr_GetAddress(
             HWND hwnd,
  [in, out]  LPARAM pv
);

参数

hwnd

包含要验证的地址的网络地址控件的句柄。

[in, out] pv

如果验证 hwnd 指定的控件中的地址格式和类型,则指向NC_ADDRESS结构的指针,以接收网络地址信息。 调用应用程序负责分配此结构的内存。

返回值

类型:HRESULT

返回 HRESULT 类型的以下值之一:

  • E_INVALIDARG - 调用应用程序未能分配 NC_ADDRESS 结构。
  • ERROR_INSUFFICIENT_BUFFER - 输出缓冲区太小,无法容纳已分析的网络地址。
  • ERROR_INVALID_PARAMETER - 网络地址字符串不指定任何类型。
  • ERROR_SUCCESS -作成功。
  • S_FALSE - 网络地址控制中没有要验证的地址。

注解

使用 NetAddr_GetAddress 宏根据预设的网络地址类型掩码验证网络地址控制中的网络地址。 若要实例化,请使用 Shellapi.h 中定义的 类msctls_netaddress 。 在运行时调用 InitNetworkAddressControl ,然后再调用此宏。 这会初始化包含网络地址控件的常见控件库。

此宏从网络地址控件获取网络地址字符串,分析字符串,并检查字符串是否与网络地址类型掩码匹配。 如果字符串与掩码匹配,则函数将返回S_OK,并使用 pv 指向的NC_ADDRESS结构将分析形式的字符串返回给调用应用程序(包括端口号、前缀长度和其他地址信息)。 如果调用应用程序无法分配 pv 指向的结构,则此宏将返回E_INVALIDARG。

分析服务和网络的 Internet 协议 (IP) 地址版本 4 和 6(v4/v6),以及使用域名系统 (DNS) 格式命名的 Internet 地址和服务。 如果网络地址字符串表示命名主机名(DNS)或服务,则NC_ADDRESS的 PrefixLength 成员中返回的值为零。

在调用NetAddr_GetAddress宏之前,使用 NetAddr_SetAllowType 宏设置网络地址类型掩码。

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows操作系统
标头 shellapi.h

另请参阅

NetAddr_GetAllowType