指示网络地址是否符合指定的类型和格式。
语法
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 |