IN6_PKTINFO 结构 (ws2ipdef.h)

in6_pktinfo 结构用于存储接收的 IPv6 数据包地址信息,由 Windows 用来返回有关接收的数据包的信息,还允许指定用于发送数据包的本地 IPv6 地址。

语法

typedef struct in6_pktinfo {
  IN6_ADDR ipi6_addr;
  ULONG    ipi6_ifindex;
} IN6_PKTINFO, *PIN6_PKTINFO;

成员

ipi6_addr

LPFN_WSARECVMSG (WSARecvMsg 一起使用时,接收数据包的 IP 标头中的目标 IPv6 地址) 函数。 与 WSASendMsg 函数一起使用时,在 IP 标头中设置的本地源 IPv6 地址。

ipi6_ifindex

LPFN_WSARECVMSG (WSARecvMsg ) 函数一起使用时接收数据包的接口。 与 WSASendMsg 函数一起使用时应发送数据包的接口。

注解

如果在 SOCK_DGRAMSOCK_RAW 类型的套接字上设置了 IPV6_PKTINFO 套接字选项,则 LPFN_WSARECVMSG (WSARecvMsg) 函数返回的控制数据对象之一将包含用于存储接收的数据包地址信息的in6_pktinfo结构。

SOCK_DGRAMSOCK_RAW 类型的 IPv6 套接字上,应用程序可以指定用于与 WSASendMsg 函数一起发送的本地 IP 源地址。 在 WSAMSG 结构中传递给 WSASendMsg 函数的控制数据对象之一可能包含用于指定用于发送的本地 IPv6 地址 的in6_pktinfo 结构。

在为 Windows Vista 及更高版本发布的 Microsoft Windows 软件开发工具包 (SDK) 上,头文件的组织已更改, in6_pktinfo 结构在 Ws2ipdef.h 头文件中定义,该文件自动包含在 Ws2tcpip.h 头文件中。 不应直接使用 Ws2ipdef.h 头文件。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 ws2ipdef.h (包括 Ws2tcpip.h)

另请参阅

适用于 IPv6 Winsock 应用程序的双堆栈套接字

IPPROTO_IPV6套接字选项

IPV6_PKTINFO

IP_PKTINFO

WSAMSG

LPFN_WSARECVMSG (WSARecvMsg)

WSASendMsg

in_pktinfo