IPPROTO _ IPV6-Socketoptionen
In den folgenden Tabellen werden IPPROTO _ IPV6-Socketoptionen beschrieben, die für Sockets gelten, die für die IPv6-Adressfamilie (AF _ INET6) erstellt wurden. Weitere Informationen zum Abrufen und Festlegen von Socketoptionen finden Sie auf den Referenzseiten der getsockopt- und setsockopt-Funktion.
Um Protokolle aufzählen und unterstützte Eigenschaften für jedes installierte Protokoll zu finden, verwenden Sie die WSAEnumProtocols-, WSCEnumProtocols-oder WSCEnumProtocols32-Funktion.
Einige Socketoptionen erfordern mehr Erklärung, als diese Tabellen vermitteln können. solche Optionen enthalten Links zu zusätzlichen Informationen.
Optionen
| Option | get | set | Optval-Typ | BESCHREIBUNG |
|---|---|---|---|---|
| URSPRÜNGLICHE _ _ IP-ANKUNFT, _ WENN | ja | ja | DWORD (boolean) | Gibt an, ob die funktion LPFN_WSARECVMSG (WSARecvMsg) optionale Steuerungsdaten zurückgeben soll, die die ursprüngliche Ankunftsschnittstelle enthalten, an der das Paket für Datagrammsockes empfangen wurde. Diese Option wird mit IPv6-Übergangstechnologien (z. B. 6to4-, ISATAP- und Teredo-Tunnel) verwendet, die eine Adresszuweisung und automatisches Host-zu-Host-Tunneling für Unicast-IPv6-Datenverkehr bereitstellen, wenn IPv6-Hosts IP4-Netzwerke durchlaufen müssen, um andere IPv6-Netzwerke zu erreichen. IPv6-Pakete werden als IPv4-Pakete getunnelt gesendet. Mit dieser Option kann die ursprüngliche IPv4-Schnittstelle, an der das Paket empfangen wurde, in der WSAMSG-Struktur zurückgegeben werden. |
| IPV6_ADD_IFLIST | ja | DWORD (IF_INDEX) | Fügt der IFLIST, die der Option "IP_IFLIST ist, einen Schnittstellenindex hinzu. | |
| IPV6– _ MITGLIEDSCHAFT _ HINZUFÜGEN | ja | ipv6 _ mreq | Verbinden Sie den Socket mit der angegebenen Multicastgruppe auf der angegebenen Schnittstelle. Diese Option ist nur für Datagramm und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein). | |
| IPV6_DEL_IFLIST | ja | DWORD (IF_INDEX) | Entfernt einen Schnittstellenindex aus der IFLIST, die der option IP_IFLIST ist. Einträge können nur von der Anwendung entfernt werden. Beachten Sie daher, dass Einträge möglicherweise veraltet sind, sobald eine Schnittstelle entfernt wird. | |
| IPV6 _ DROP _ MEMBERSHIP | ja | ipv6 _ mreq | Belasse die angegebene Multicastgruppe aus der angegebenen Schnittstelle. Diese Option ist nur für Datagramm und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein). | |
| IPV6_GET_IFLIST | ja | DWORD[] (IF_INDEX[]) | Ruft die aktuelle IFLIST ab, die der IP_IFLIST zugeordnet ist. Gibt einen Fehler zurück, IP_IFLIST nicht aktiviert ist. | |
| IPV6 _ HDRINCL | ja | ja | DWORD(boolean) | Gibt an, dass die Anwendung den IPv6-Header für alle ausgehenden Daten angibt. Wenn der optval-Parameter beim Aufruf von setsockoptauf 1 festgelegt ist, ist die Option aktiviert. Wenn optval auf 0 festgelegt ist, ist die Option deaktiviert. Der Standardwert ist „deaktiviert“. Diese Option ist nur für Datagramm- und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein). Ein TCP/IP-Dienstanbieter, der SOCK _ RAW unterstützt, sollte auch IPV6 _ HDRINCL unterstützen. |
| IPV6 _ HOPLIMIT | ja | ja | DWORD (boolean) | Gibt an, dass Hopinformationen (TTL) in der funktion LPFN_WSARECVMSG (WSARecvMsg) zurückgegeben werden sollen. Wenn optval beim Aufruf von setsockoptauf 1 festgelegt ist, ist die Option aktiviert. Wenn diese Option auf 0 festgelegt ist, ist die Option deaktiviert. Diese Option ist nur für Datagramm- und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein). |
| IPV6_IFLIST | ja | ja | DWORD (boolean) | Ruft den IP_IFLIST des Sockets ab oder legt diese fest. Wenn diese Option auf TRUE festgelegt ist, ist der Empfang von Datagrammen auf Schnittstellen in der IFLIST beschränkt. Datagramme, die auf anderen Schnittstellen empfangen werden, werden ignoriert. IFLIST wird leer gestartet. Verwenden IP_ADD_IFLIST und IP_DEL_IFLIST, um iflist zu bearbeiten. |
| IPV6 _ JOIN _ GROUP | ja | ipv6 _ mreq | Identisch mit IPV6 _ ADD _ MEMBERSHIP | |
| IPV6 _ LEAVE _ GROUP | ja | ipv6 _ mreq | Identisch mit IPV6 _ DROP _ MEMBERSHIP | |
| IPV6 _ MTU | ja | DWORD | Ruft die Schätzung des Systempfads der MTU ab. Der Socket muss verbunden sein. | |
| IPV6 _ MTU _ DISCOVER | ja | ja | DWORD (PMTUD _ STATE) | Ruft den MTU-Ermittlungsstatus des Pfads für den Socket ab oder legt diesen fest. Der Standardwert ist IP _ PMTUDISC _ NOT _ SET. Für Streamsockes führen IP _ PMTUDISC _ NOT _ SET und IP _ PMTUDISC _ DO die PFAD-MTU-Ermittlung aus. IP-Adresse _ PMTUDISC _ DONT und IP _ PMTUDISC _ PROBE deaktivieren den Pfad der MTU-Ermittlung. Wenn datagram sockets auf IP _ PMTUDISC _ DO festgelegt ist, führt der Versuch, Pakete zu senden, die größer als der Pfad MTU sind, zu einem Fehler. Wenn dies auf IP _ PMTUDISC _ DONT festgelegt ist, werden Pakete gemäß der Schnittstellen-MTU fragmentiert. Wenn IP _ PMTUDISC _ PROBE festgelegt ist, führt der Versuch, Pakete zu senden, die größer als die Schnittstellen-MTU sind, zu einem Fehler. |
| _IPV6-MULTICAST-HOPS _ | ja | ja | DWORD | Ruft den TTL-Wert ab, der dem IPv6-Multicastdatenverkehr auf dem Socket zugeordnet ist, oder legt ihn fest. Es ist unzulässig, die Tl auf einen Wert größer als 255 zu setzen. Diese Option ist nur für Datagramm- und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein). |
| IPV6 _ MULTICAST _ IF | ja | ja | DWORD | Ruft die ausgehende Schnittstelle zum Senden von IPv6-Multicastdatenverkehr ab oder legt sie fest. Diese Option ändert nicht die Standardschnittstelle für den Empfang von IPv6-Multicastdatenverkehr. Diese Option ist für mehrfach vernetzte Computer wichtig. Der Eingabewert zum Festlegen dieser Option ist ein 4-Byte-Schnittstellenindex der gewünschten ausgehenden Schnittstelle in Host-Byte-Reihenfolge. Die GetAdaptersAddresses-Funktion kann verwendet werden, um die Informationen zum Schnittstellenindex zu erhalten. Wenn optval beim Aufruf von setsockoptauf NULL festgelegt ist, wird die IPv6-Standardschnittstelle verwendet. Wenn optval 0 (null) ist, wird die Standardschnittstelle für den Empfang von Multicast zum Senden von Multicastdatenverkehr angegeben. Beim Abrufen dieser Option gibt optval den aktuellen Standardschnittstellenindex zum Senden von Multicast-IPv6-Datenverkehr in Host-Byte-Reihenfolge zurück. |
| _IPV6-MULTICASTSCHLEIFE _ | ja | ja | DWORD (boolean) | Gibt an, dass auf dem Socket gesendete Multicastdaten an den Socket-Empfangspuffer gesendet werden, wenn sie auch in der Ziel-Multicastgruppe verbunden sind. Wenn optval beim Aufruf von setsockoptauf 1 festgelegt ist, ist die Option aktiviert. Wenn diese Option auf 0 festgelegt ist, ist die Option deaktiviert. Diese Option ist nur für Datagramm- und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein). |
| IPV6 _ PKTINFO | ja | ja | DWORD (boolean) | Gibt an, dass Paketinformationen von der funktion LPFN_WSARECVMSG (WSARecvMsg) zurückgegeben werden sollen. |
| _IPV6-SCHUTZEBENE _ | ja | ja | INT | Ermöglicht die Einschränkung eines Sockets auf einen angegebenen Bereich, z. B. Adressen mit dem gleichen lokalen Linkpräfix oder standortortspräfix. Stellt verschiedene Einschränkungsstufen und Standardeinstellungen zur Seite. Weitere Informationen finden Sie unter IPV6-SCHUTZEBENE. _ _ |
| IPV6 _ RECVIF | ja | ja | DWORD (boolean) | Gibt an, ob der IP-Stapel den Steuerungspuffer mit Details darüber auffüllen soll, welche Schnittstelle ein Paket mit einem Datagrammsocket empfangen hat. Wenn dieser Wert true ist, gibt die LPFN_WSARECVMSG-Funktion (WSARecvMsg) optionale Steuerungsdaten zurück, die die Schnittstelle enthalten, an der das Paket für Datagrammsockes empfangen wurde. Mit dieser Option kann die IPv6-Schnittstelle, an der das Paket empfangen wurde, in der WSAMSG-Struktur zurückgegeben werden. Diese Option ist nur für Datagramm- und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein). |
| IPV6 _ RECVTCLASS | ja | ja | DWORD (boolean) | Gibt an, ob der IP-Stapel den Steuerungspuffer mit einer Nachricht auffüllen soll, die das IPv6-Headerfeld der Traffic-Klasse für ein empfangenes Datagramm enthält. Wenn dieser Wert true ist, gibt die LPFN_WSARECVMSG-Funktion (WSARecvMsg) optionale Steuerungsdaten zurück, die den IPv6-Headerfeldwert der Traffic Class des empfangenen Datagramms enthalten. Mit dieser Option kann das IPv6-Headerfeld der Traffic Class des empfangenen Datagramms in der WSAMSG-Struktur zurückgegeben werden. Der zurückgegebene Nachrichtentyp ist IPV6 _ TCLASS. Alle DSCP- und ECN-Bits des Felds Traffic Class werden zurückgegeben. Diese Option ist nur für Datagrammsockets gültig (der Sockettyp muss SOCK _ DGRAM sein). |
| IPV6 _ _ UNICAST-HOPS | ja | ja | DWORD | Ruft den aktuellen TTL-Wert ab, der dem IPv6-Socket für Unicastdatenverkehr zugeordnet ist, oder legt ihn fest. Es ist unzulässig, die Tl auf einen Wert größer als 255 zu setzen. |
| IPV6 _ UNICAST _ IF | ja | ja | DWORD (IF _ INDEX) | Ruft die ausgehende Schnittstelle zum Senden von IPv6-Datenverkehr ab oder legt sie fest. Diese Option ändert nicht die Standardschnittstelle für den Empfang von IPv6-Datenverkehr. Diese Option ist für mehrfach vernetzte Computer wichtig. Der Eingabewert zum Festlegen dieser Option ist ein 4-Byte-Schnittstellenindex der gewünschten ausgehenden Schnittstelle in Host-Byte-Reihenfolge. Die GetAdaptersAddresses-Funktion kann verwendet werden, um die Informationen zum Schnittstellenindex zu erhalten. Wenn optval 0 (null) ist, wird die Standardschnittstelle zum Senden von IPv6-Datenverkehr auf nicht angegeben festgelegt. Beim Abrufen dieser Option gibt optval den aktuellen Standardschnittstellenindex zum Senden von IPv6-Datenverkehr in Host-Byte-Reihenfolge zurück. |
| IPV6_USER_MTU | ja | ja | DWORD | Ruft eine Obergrenze für die IP-Schicht-MTU (in Bytes) für den angegebenen Socket ab oder legt diese fest. Wenn der Wert höher ist als die Schätzung des Pfads mtu (die Sie auf einem verbundenen Socket abrufen können, indem Sie die Option IPV6_MTU Socket abfragen), hat die Option keine Auswirkungen. Wenn der Wert niedriger ist, werden ausgehende Pakete, die größer als dieser sind, fragmentiert oder können je nach Wert von nicht gesendet IPV6_DONTFRAG. Der Standardwert ist IP_UNSPECIFIED_USER_MTU (MAXULONG). Zur Typsicherheit sollten Sie die Funktionen WSAGetIPUserMtu und WSASetIPUserMtu verwenden, anstatt die Socketoption direkt zu verwenden. |
| IPV6 _ V6ONLY | ja | ja | DWORD (boolean) | Gibt an, ob ein für die AF INET6-Adressfamilie erstellter Socket _ nur auf IPv6-Kommunikation beschränkt ist. Sockets, die für die AF INET6-Adressfamilie erstellt wurden, können sowohl für die IPv6- als auch für _ die IPv4-Kommunikation verwendet werden. Einige Anwendungen möchten die Verwendung eines Sockets, der für die AF INET6-Adressfamilie erstellt wurde, möglicherweise auf _ IPv6-Kommunikation beschränken. Wenn dieser Wert ungleich 0 (Standardeinstellung für Windows) ist, kann ein Socket, der für die AF INET6-Adressfamilie erstellt wurde, nur zum Senden und Empfangen von _ IPv6-Paketen verwendet werden. Wenn dieser Wert 0 (null) ist, kann ein Socket, der für die AF INET6-Adressfamilie erstellt wurde, zum Senden und Empfangen von Paketen an und von einer _ IPv6-Adresse oder einer IPv4-Adresse verwendet werden. Die Möglichkeit der Interaktion mit einer IPv4-Adresse setzt die Verwendung von IPv4-zugeordneten Adressen voraus. Diese Socketoption wird unter Windows Vista oder höher unterstützt. |
Windows für IPPROTO _ IPV6-Socketoptionen
| Option | Windows 8 | Windows Server 2012 | Windows 7 | Windows Server 2008 | Windows Vista |
|---|---|---|---|---|---|
| URSPRÜNGLICHE _ _ IP-ANKUNFT, _ WENN | x | x | x | ||
| IPV6_ADD_IFLIST | Ab Windows 10 Version 1803 | ||||
| IPV6– _ MITGLIEDSCHAFT _ HINZUFÜGEN | x | x | x | x | x |
| IPV6_DEL_IFLIST | Ab Windows 10 Version 1803 | ||||
| IPV6 _ DROP _ MEMBERSHIP | x | x | x | x | x |
| IPV6_GET_IFLIST | Ab Windows 10 Version 1803 | ||||
| IPV6 _ HDRINCL | x | x | x | x | x |
| IPV6 _ HOPLIMIT | x | x | x | x | x |
| IPV6_IFLIST | Ab Windows 10 Version 1803 | ||||
| IPV6 _ JOIN _ GROUP | x | x | x | x | x |
| IPV6 _ LEAVE _ GROUP | x | x | x | x | x |
| _IPV6-MULTICAST-HOPS _ | x | x | x | x | x |
| IPV6 _ MULTICAST _ IF | x | x | x | x | x |
| _IPV6-MULTICASTSCHLEIFE _ | x | x | x | x | x |
| IPV6 _ PKTINFO | x | x | x | x | x |
| _IPV6-SCHUTZEBENE _ | x | x | x | x | x |
| IPV6 _ RECVIF | x | x | x | x | x |
| IPV6 _ _ UNICAST-HOPS | x | x | x | x | x |
| IPV6 _ UNICAST _ IF | x | x | x | x | x |
| IPV6 _ V6ONLY | x | x | x | x | x |
| Option | Windows Server 2003 | Windows XP |
|---|---|---|
| URSPRÜNGLICHE _ _ IP-ANKUNFT, _ WENN | ||
| IPV6_ADD_IFLIST | ||
| IPV6– _ MITGLIEDSCHAFT _ HINZUFÜGEN | x | x |
| IPV6_DEL_IFLIST | ||
| IPV6 _ DROP _ MEMBERSHIP | x | x |
| IPV6_GET_IFLIST | ||
| IPV6 _ HDRINCL x | x | |
| IPV6 _ HOPLIMIT x | x | |
| IPV6_IFLIST | ||
| IPV6 _ JOIN _ GROUP | x | x |
| IPV6 _ LEAVE _ GROUP | x | x |
| _IPV6-MULTICAST-HOPS _ | x | x |
| IPV6 _ MULTICAST _ IF | x | x |
| _IPV6-MULTICASTSCHLEIFE _ | x | x |
| IPV6 _ PKTINFO | x | x |
| _IPV6-SCHUTZEBENE _ | x | x |
| IPV6 _ RECVIF | ||
| IPV6 _ _ UNICAST-HOPS | x | x |
| IPV6 _ UNICAST _ IF | ||
| IPV6 _ V6ONLY |
Bemerkungen
Auf dem Microsoft Windows Software Development Kit (SDK), das für Windows Vista und höher veröffentlicht wurde, hat sich die Organisation der Headerdateien geändert, und die IPPROTO _ IPV6-Ebene wird in der Ws2def.h-Headerdatei definiert, die automatisch in der Winsock2.h-Headerdatei enthalten ist. Die IPPROTO _ IPV6-Socketoptionen werden in der Headerdatei Ws2ipdef.h definiert, die automatisch in der Headerdatei Ws2tcpip.h enthalten ist. Die Headerdateien Ws2def.h und Ws2ipdef.h sollten nie direkt verwendet werden.
Die IP _ ORIGINAL _ ARRIVAL _ IF-Socketoption wird auf Windows Server 2008 R2 sowie auf Windows 7 unterstützt.
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Header |
|