共用方式為


IN_PKTINFO結構 (ws2ipdef.h)

in_pktinfo結構是用來儲存接收的封包位址資訊,而 Windows 會用來傳回所接收封包的相關資訊,也允許指定用於傳送封包的本機 IPv4 位址。

語法

typedef struct in_pktinfo {
  IN_ADDR ipi_addr;
  ULONG   ipi_ifindex;
} IN_PKTINFO, *PIN_PKTINFO;

成員

ipi_addr

LPFN_WSARECVMSG (WSARecvMsg) 函式搭配使用時,接收封包 IP 標頭的目的地 IPv4 位址。 搭配 WSASendMsg 函式使用時,IP 標頭中要設定的本機來源 IPv4 位址。

ipi_ifindex

LPFN_WSARECVMSG (WSARecvMsg ) 函式搭配使用時,會接收封包的介面。 與 WSASendMsg 函式搭配使用時,應該傳送封包的介面。

備註

如果在類型為 SOCK_DGRAMSOCK_RAW的通訊端上設定IP_PKTINFO通訊端選項,LPFN_WSARECVMSG (WSARecvMsg) 函式所傳回的其中一個控制資料物件將包含用來儲存所接收封包位址資訊的in_pktinfo結構。

類型為 SOCK_DGRAMSOCK_RAW的 IPv4 通訊端上,應用程式可以指定用來與 WSASendMsg 函 式一起傳送的本機 IP 位址。 在 WSAMSG 結構中傳遞至 WSASendMsg 函式的其中一個控制項資料物件,可能包含用來指定要用於傳送之本機 IPv4 位址 的in_pktinfo 結構。

在針對 Windows Vista 和更新版本發行的 Microsoft Windows 軟體發展工具組 (SDK) 上,標頭檔的組織已變更, 且in_pktinfo 結構定義于 Ws2ipdef.h 標頭檔中, Ws2tcpip.h 標頭檔會自動包含在其中。 Ws2ipdef.h標頭檔不應該直接使用。

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 ws2ipdef.h (包含 Ws2tcpip.h)

另請參閱

IPv6 Winsock 應用程式的雙堆疊通訊端

IPPROTO_IP通訊端選項

IPV6_PKTINFO

IP_PKTINFO

WSAMSG

LPFN_WSARECVMSG (WSARecvMsg)

WSASendMsg

in6_pktinfo