Freigeben über


IOControlCode Enumeration

Definition

Gibt die von der IOControl(Int32, Byte[], Byte[])-Methode unterstützten EA-Steuerungscodes an.

public enum class IOControlCode
public enum IOControlCode
type IOControlCode = 
Public Enum IOControlCode
Vererbung
IOControlCode

Felder

AbsorbRouterAlert 2550136837

Dieser Wert entspricht der SIO_ABSORB_RTRALERT-Konstante von Winsock 2.

AddMulticastGroupOnInterface 2550136842

Verknüpfen Sie eine Multicastgruppe mithilfe einer durch diesen Index angegebenen Schnittstelle. Dieser Wert entspricht der SIO_INDEX_ADD_MCAST-Konstante von Winsock 2.

AddressListChange 671088663

Aktiviert das Empfangen einer Benachrichtigung, wenn sich die Liste lokaler Schnittstellen für die Protokollfamilie des Sockets ändern. Dieser Wert entspricht der SIO_ADDRESS_LIST_CHANGE-Konstante von Winsock 2.

AddressListQuery 1207959574

Gibt die Liste der lokalen Schnittstellen zurück, an die der Socket gebunden werden kann. Dieser Wert entspricht der SIO_ADDRESS_LIST_QUERY-Konstante von Winsock 2.

AddressListSort 3355443225

Sortiert die vom AddressListQuery-Feld zurückgegebene Struktur, und fügt für IPv6-Adressen Bereichs-ID-Informationen hinzu. Dieser Steuerungscode wird von Windows XP und höher unterstützt. Dieser Wert entspricht der SIO_ADDRESS_LIST_SORT-Konstante von Winsock 2.

AssociateHandle 2281701377

Ordnet diesen Socket dem angegebenen Handle einer Begleitschnittstelle zu. Weitere Details finden Sie im entsprechenden protokollspezifischen Anhang in der Winsock 2-Referenz oder -Dokumentation für die jeweilige Begleitschnittstelle. Es empfiehlt sich, COM (Component Object Model) anstelle von IOCTL zu verwenden, um weitere Schnittstellen zu ermitteln und nachzuverfolgen, die möglicherweise von einem Socket unterstützt werden. Dieser Steuerungscode ist für die Abwärtskompatibilität mit Systemen vorhanden, in denen COM nicht verfügbar ist oder aus einem anderen Grund nicht verwendet werden kann. Dieser Wert entspricht der SIO_ASSOCIATE_HANDLE-Konstante von Winsock 2.

AsyncIO 2147772029

Aktiviert die Benachrichtigung, wenn der Empfang von Daten aussteht. Dieser Wert entspricht der FIOASYNC-Konstante von Winsock 2.

BindToInterface 2550136840

Bindet den Socket an einen angegebenen Schnittstellenindex. Dieser Wert entspricht der SIO_INDEX_BIND-Konstante von Winsock 2.

DataToRead 1074030207

Gibt die Anzahl der zum Lesen verfügbaren Bytes zurück. Dieser Wert entspricht der FIONREAD-Konstante von Winsock 2.

DeleteMulticastGroupFromInterface 2550136843

Entfernt den Socket aus einer Multicastgruppe. Dieser Wert entspricht der SIO_INDEX_ADD_MCAST-Konstante von Winsock 2.

EnableCircularQueuing 671088642

Ersetzt das älteste Datagramm in der Warteschlange durch ein eingehendes Datagramm, wenn die Warteschlangen für eingehende Meldungen voll sind. Dieser Wert entspricht der SIO_ENABLE_CIRCULAR_QUEUEING-Konstante von Winsock 2.

Flush 671088644

Verwirft den Inhalt der Sendewarteschlange. Dieser Wert entspricht der SIO_FLUSH-Konstante von Winsock 2.

GetBroadcastAddress 1207959557

Gibt eine SOCKADDR-Struktur zurück, die die Broadcastadresse für die Adressfamilie des aktuellen Sockets enthält. Die zurückgegebene Adresse kann mit der SendTo-Methode verwendet werden. Dieser Wert entspricht der SIO_GET_BROADCAST_ADDRESS-Konstante von Winsock 2. Dieser Wert kann nur für UDP (User Datagram Protocol)-Sockets verwendet werden.

GetExtensionFunctionPointer 3355443206

Ruft anbieterspezifische Funktionen ab, die nicht in der Winsock-Spezifikation enthalten sind. Funktionen werden mit ihrer vom Anbieter zugewiesenen GUID angegeben. Dieser Wert entspricht der SIO_GET_EXTENSION_FUNCTION_POINTER-Konstante von Winsock 2.

GetGroupQos 3355443208

Gibt die QOS (Quality of Service)-Attribute für die Socketgruppe zurück. Dieser Wert ist für eine zukünftige Verwendung reserviert und entspricht der SIO_GET_GROUP_QOS-Konstante von Winsock 2.

GetQos 3355443207

Ruft die dem Socket zugeordnete QOS-Struktur ab. Dieser Wert entspricht der SIO_GET_QOS-Konstante von Winsock 2.

KeepAliveValues 2550136836

Steuerungscode, der TCP-Keep-alive-Pakete sendet, und das Intervall, in dem die Pakete gesendet werden. Weitere Informationen finden Sie in RFC 1122, Abschnitt 4.2.3.6. Dieser Wert entspricht der SIO_KEEPALIVE_VALS-Konstante von Winsock 2.

LimitBroadcasts 2550136839

Dieser Wert entspricht der SIO_LIMIT_BROADCASTS-Konstante von Winsock 2.

MulticastInterface 2550136841

Legt die Schnittstelle für ausgehende Multicastpakete fest. Die Schnittstelle wird durch ihren Index angegeben. Dieser Wert entspricht der SIO_INDEX_MCASTIF-Konstante von Winsock 2.

MulticastScope 2281701386

Steuert die Anzahl der Weiterleitungen eines Multicastpakets durch einen Router, auch als Gültigkeitsdauer (TTL) oder Hop Count bezeichnet. Dieser Wert entspricht der SIO_MULTICAST_SCOPE-Konstante von Winsock 2.

MultipointLoopback 2281701385

Steuert, ob vom Socket gesendete Multicastdaten in der Empfangswarteschlange für Sockets als eingehende Daten behandelt werden. Dieser Wert entspricht der SIO_MULTIPOINT_LOOPBACK-Konstante von Winsock 2.

NamespaceChange 2281701401

Steuert, ob der Socket eine Benachrichtigung empfängt, wenn eine Namespaceabfrage ungültig wird. Dieser Steuerungscode wird von Windows XP und höher unterstützt. Dieser Wert entspricht der SIO_NSP_NOTIFY_CHANGE-Konstante von Winsock 2.

NonBlockingIO 2147772030

Steuert das Blockierungsverhalten des Sockets. Wenn das mit diesem Steuerungscode angegebene Argument 0 (null) ist, wird der Socket in den blockierenden Modus versetzt. Wenn das Argument ungleich 0 (null) ist, wird der Socket in den nicht blockierenden Modus versetzt. Dieser Wert entspricht der FIONBIO-Konstante von Winsock 2.

OobDataRead 1074033415

Gibt Informationen über Out-of-Band-Daten zurück, deren Empfang aussteht. Bei Verwendung dieses Steuerungscodes für Streamsockets gibt der Rückgabewert die Anzahl der verfügbaren Bytes an.

QueryTargetPnpHandle 1207959576

Ruft das SOCKET-Handle des zugrunde liegenden Anbieters ab. Dieses Handle kann zum Empfangen von Plug-and-Play-Ereignisbenachrichtigungen verwendet werden. Dieser Wert entspricht der SIO_QUERY_TARGET_PNP_HANDLE-Konstante von Winsock 2.

ReceiveAll 2550136833

Aktiviert das Empfangen aller IPv4-Pakete im Netzwerk. Der Socket muss über die Adressfamilie InterNetwork verfügen, der Sockettyp muss Raw und der Protokolltyp IP sein. Der aktuelle Benutzer muss der Gruppe Administratoren auf dem lokalen Computer angehören, und der Socket muss an einen bestimmten Anschluss gebunden sein. Dieser Wert entspricht der SIO_RCVALL-Konstante von Winsock 2.

ReceiveAllIgmpMulticast 2550136835

Aktiviert das Empfangen aller IGMP (Internet Group Management Protocol)-Pakete im Netzwerk. Der Socket muss über die Adressfamilie InterNetwork verfügen, der Sockettyp muss Raw und der Protokolltyp Igmp sein. Der aktuelle Benutzer muss der Gruppe Administratoren auf dem lokalen Computer angehören, und der Socket muss an einen bestimmten Anschluss gebunden sein. Dieser Wert entspricht der SIO_RCVALL_IGMPMCAST-Konstante von Winsock 2.

ReceiveAllMulticast 2550136834

Aktiviert das Empfangen aller IPv4-Multicastpakete im Netzwerk. Dies sind Pakete mit Zieladressen im Bereich 224.0.0.0 bis 239.255.255.255. Der Socket muss über die Adressfamilie InterNetwork verfügen, der Sockettyp muss Raw und der Protokolltyp Udp sein. Der aktuelle Benutzer muss der Gruppe Administratoren auf dem lokalen Computer angehören, und der Socket muss an einen bestimmten Anschluss gebunden sein. Dieser Wert entspricht der SIO_RCVALL_MCAST-Konstante von Winsock 2.

RoutingInterfaceChange 2281701397

Aktiviert das Empfangen einer Benachrichtigung, wenn sich die für den Zugriff auf einen Remoteendpunkt verwendete lokale Schnittstelle ändert. Dieser Wert entspricht der SIO_ROUTING_INTERFACE_CHANGE-Konstante von Winsock 2.

RoutingInterfaceQuery 3355443220

Gibt die Schnittstellenadressen zurück, die zum Herstellen einer Verbindung mit der angegebenen Remoteadresse verwendet werden können. Dieser Wert entspricht der SIO_ROUTING_INTERFACE_QUERY-Konstante von Winsock 2.

SetGroupQos 2281701388

Legt die QOS (Quality of Service)-Attribute für die Socketgruppe fest. Dieser Wert ist für eine zukünftige Verwendung reserviert und entspricht der SIO_SET_GROUP_QOS-Konstante von Winsock 2.

SetQos 2281701387

Legt die QOS (Quality of Service)-Attribute für den Socket fest. Mit QOS werden die Bandbreitenanforderungen für den Socket definiert. Dieser Wert entspricht der SIO_SET_QOS-Konstante von Winsock 2.

TranslateHandle 3355443213

Gibt ein Handle für den Socket zurück, das im Kontext einer Begleitschnittstelle gültig ist. Dieser Wert entspricht der SIO_TRANSLATE_HANDLE-Konstante von Winsock 2.

UnicastInterface 2550136838

Legt die Schnittstelle für ausgehende Unicastpakete fest. Dieser Wert entspricht der SIO_UCAST_IF-Konstante von Winsock 2.

Beispiele

Im folgenden Codebeispiel wird die IOControl(IOControlCode, Byte[], Byte[]) -Methode mit einem DataToRead-Parameterwert aufgerufen und das Ergebnis mit dem Zugriff auf die -Available Eigenschaft verglichen.

void DisplayPendingByteCount( Socket^ s )
{
   array<Byte>^ outValue = BitConverter::GetBytes( 0 );
   
   // Check how many bytes have been received.
   s->IOControl( IOControlCode::DataToRead, nullptr, outValue );

   UInt32 bytesAvailable = BitConverter::ToUInt32( outValue, 0 );
   Console::Write( "server has {0} bytes pending,",
      bytesAvailable );
   Console::WriteLine( "Available property says {1}.",
      s->Available );
   return;
}
static void DisplayPendingByteCount(Socket s)
{
    byte[] outValue = BitConverter.GetBytes(0);

    // Check how many bytes have been received.
    s.IOControl(IOControlCode.DataToRead, null, outValue);

    uint bytesAvailable = BitConverter.ToUInt32(outValue, 0);
    Console.Write("server has {0} bytes pending. ",
        bytesAvailable);
    Console.WriteLine("Available property says {1}.",
                     s.Available);

    return;
}

Hinweise

Die IOControlCode Enumeration stellt benannte Werte zum Angeben von Socketbetriebsmodi bereit. Diese Werte sind die Steuercodes, die an die Funktion Windows Sockets 2 (Winsock 2) WSAIoctl übergeben werden.

Gilt für: