DrtCreateIpv6UdpTransport 函数 (drt.h)
DrtCreateIpv6UdpTransport 函数基于 IPv6 UDP 协议创建传输。
语法
HRESULT DrtCreateIpv6UdpTransport(
DRT_SCOPE scope,
ULONG dwScopeId,
ULONG dwLocalityThreshold,
[in, out] USHORT *pwPort,
[out] HDRT_TRANSPORT *phTransport
);
参数
scope
DRT_SCOPE枚举,用于指定 DRT 要在其中运行 IPv6 范围。
dwScopeId
唯一指定与范围关联的接口的标识符。
对于全局范围,此参数始终为“GLOBAL_”ID,在仅使用全局作用域时是可选的。 对于链接本地范围,此参数表示与链接本地作用域所在的网络接口卡关联的接口。
dwLocalityThreshold
指定在缓存邻居时如何使用基于 IpV6 地址的 Locality 信息的标识符。 默认情况下,DRT 优先选择具有 IPv6 地址且前缀与本地计算机通用的邻居。
[in, out] pwPort
指向本地 DRT 实例使用的端口的指针。
[out] phTransport
指向DRT_SETTINGS结构中指定的 DRT 传输句柄 的 指针。
返回值
此函数在成功时返回S_OK。 其他可能的值包括:
返回代码 | 说明 |
---|---|
|
系统无法为提供程序分配内存。 |
|
pwPort 为 NULL。 |
|
hTransport 为 NULL。 |
|
指定的范围不是DRT_GLOBAL_SCOPE、DRT_SITE_LOCAL_SCOPE或DRT_LINK_LOCAL_SCOPE。 |
|
发生意外错误。 有关原因,请参阅 TraceError。 |
注意 此函数还可能返回对 NotifyUnicastIpAddressChange、WSAStartup、 GetAdaptersAddresses、 setsockopt、 WSASocket、 Bind、 WSAIoctl、 CreateThreadpoolIo、 CreateThreadpoolCleanupGroup 和 CreateTimerQueue 的基础调用的错误。
备注
此函数创建的默认 IPv6 UDP 传输特定于为其创建的 DRT。 因此,无法跨多个 DRT 重用它。
在 Windows XP 中将分布式路由表 API 与 Service Pack 2 (SP2) 配合使用时,必须启用对 IPv6 协议的支持,才能使用 DrtCreateIpv6UdpTransport 成功创建传输。
要求
最低受支持的客户端 | Windows 7 专业版 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | drt.h |
Library | Drttransport.lib |
DLL | Drt.dll |