次の方法で共有


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 関数と共に使用する場合にパケットを送信するインターフェイス。

解説

IP_PKTINFO ソケット オプションが SOCK_DGRAM 型またはSOCK_RAW型のソケットに設定されている場合、LPFN_WSARECVMSG (WSARecvMsg) 関数によって返されるコントロール データ オブジェクトの 1 つに、受信したパケット アドレス情報を格納するために使用されるin_pktinfo構造体が含まれます。

SOCK_DGRAMタイプまたはSOCK_RAWの IPv4 ソケットでは、アプリケーションは WSASendMsg 関数で送信するために使用するローカル IP アドレスを指定できます。 WSAMSG 構造体で WSASendMsg 関数に渡される制御データ・オブジェクトの 1 つに、送信に使用するローカル IPv4 アドレスを指定するために使用されるin_pktinfo構造が含まれている場合があります。

Windows Vista 以降用にリリースされた Microsoft Windows ソフトウェア開発キット (SDK) では、ヘッダー ファイルのorganizationが変更され、in_pktinfo構造は Ws2tcpip.h ヘッダー ファイルに自動的に含まれる Ws2ipdef.h ヘッダー ファイルで定義されます。 Ws2ipdef.h ヘッダー ファイルを直接使用しないでください。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header ws2ipdef.h (Ws2tcpip.h を含む)

関連項目

IPv6 Winsock アプリケーション用デュアルスタック ソケット

IPPROTO_IP ソケット オプション

IPV6_PKTINFO

IP_PKTINFO

WSAMSG

LPFN_WSARECVMSG (WSARecvMsg)

WSASendMsg

in6_pktinfo