Partager via


IOControlCode Énumération

Définition

Spécifie les codes de contrôle d’E/S pris en charge par la méthode IOControl(Int32, Byte[], Byte[]).

public enum class IOControlCode
public enum IOControlCode
type IOControlCode = 
Public Enum IOControlCode
Héritage
IOControlCode

Champs

Nom Valeur Description
EnableCircularQueuing 671088642

Remplacez le datagramme mis en file d’attente le plus ancien par un datagramme entrant lorsque les files d’attente de messages entrantes sont pleines. Cette valeur est égale à la constante winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING.

Flush 671088644

Ignorez le contenu de la file d’attente d’envoi. Cette valeur est égale à la constante Winsock 2 SIO_FLUSH.

AddressListChange 671088663

Activez la notification de réception lorsque la liste des interfaces locales pour la famille de protocoles du socket change. Cette valeur est égale à la constante Winsock 2 SIO_ADDRESS_LIST_CHANGE.

DataToRead 1074030207

Retourne le nombre d’octets disponibles pour la lecture. Cette valeur est égale à la constante FIONREAD Winsock 2.

OobDataRead 1074033415

Retournez des informations sur les données hors bande en attente de réception. Lorsque vous utilisez ce code de contrôle sur les sockets de flux, la valeur de retour indique le nombre d’octets disponibles.

GetBroadcastAddress 1207959557

Retourne une structure SOCKADDR qui contient l’adresse de diffusion de la famille d’adresses du socket actuel. L’adresse retournée peut être utilisée avec la SendTo méthode. Cette valeur est égale à la constante winsock 2 SIO_GET_BROADCAST_ADDRESS. Cette valeur peut être utilisée uniquement sur les sockets UDP (User Datagram Protocol).

AddressListQuery 1207959574

Retourne la liste des interfaces locales auxquelles le socket peut être lié. Cette valeur est égale à la constante Winsock 2 SIO_ADDRESS_LIST_QUERY.

QueryTargetPnpHandle 1207959576

Récupérez le handle SOCKET du fournisseur sous-jacent. Ce handle peut être utilisé pour recevoir une notification d’événement plug-and-play. Cette valeur est égale à la constante Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE.

AsyncIO 2147772029

Activez la notification pour le moment où les données attendent d’être reçues. Cette valeur est égale à la constante FIOASYNC Winsock 2.

NonBlockingIO 2147772030

Contrôlez le comportement de blocage du socket. Si l’argument spécifié avec ce code de contrôle est égal à zéro, le socket est placé en mode bloquant. Si l’argument n’est pas différent de zéro, le socket est placé en mode non bloquant. Cette valeur est égale à la constante FIONBIO Winsock 2.

AssociateHandle 2281701377

Associez ce socket au handle spécifié d’une interface complémentaire. Reportez-vous à l’annexe appropriée spécifique au protocole dans la référence ou la documentation winsock 2 pour obtenir des détails supplémentaires sur l’interface complémentaire particulière. Il est recommandé d’utiliser com (Component Object Model) au lieu de cette IOCTL pour découvrir et suivre d’autres interfaces qui peuvent être prises en charge par un socket. Ce code de contrôle est présent pour la compatibilité descendante avec les systèmes où COM n’est pas disponible ou ne peut pas être utilisé pour une autre raison. Cette valeur est égale à la constante winsock 2 SIO_ASSOCIATE_HANDLE.

MultipointLoopback 2281701385

Contrôler si les données de multidiffusion envoyées par le socket s’affichent en tant que données entrantes dans la file d’attente de réception des sockets. Cette valeur est égale à la constante Winsock 2 SIO_MULTIPOINT_LOOPBACK.

MulticastScope 2281701386

Contrôlez le nombre de fois où un paquet de multidiffusion peut être transféré par un routeur, également appelé durée de vie (TTL) ou nombre de tronçons. Cette valeur est égale à la constante winsock 2 SIO_MULTICAST_SCOPE.

SetQos 2281701387

Définissez les attributs QoS (Quality of Service) pour le socket. QoS définit les exigences de bande passante pour le socket. Cette valeur est égale à la constante Winsock 2 SIO_SET_QOS.

SetGroupQos 2281701388

Définissez les attributs QoS (Quality of Service) pour le groupe de sockets. Cette valeur est réservée à une utilisation ultérieure et est égale à la constante Winsock 2 SIO_SET_GROUP_QOS.

RoutingInterfaceChange 2281701397

Activez la notification de réception lorsque l’interface locale utilisée pour accéder à un point de terminaison distant change. Cette valeur est égale à la constante Winsock 2 SIO_ROUTING_INTERFACE_CHANGE.

NamespaceChange 2281701401

Déterminez si le socket reçoit la notification lorsqu’une requête d’espace de noms devient non valide. Ce code de contrôle est pris en charge sur Windows XP et les systèmes d’exploitation ultérieurs. Cette valeur est égale à la constante Winsock 2 SIO_NSP_NOTIFY_CHANGE.

ReceiveAll 2550136833

Activez la réception de tous les paquets IPv4 sur le réseau. Le socket doit avoir la famille InterNetworkd’adresses , le type de socket doit être Raw, et le type de protocole doit être IP. L’utilisateur actuel doit appartenir au groupe Administrateurs sur l’ordinateur local, et le socket doit être lié à un port spécifique. Cette valeur est égale à la constante Winsock 2 SIO_RCVALL.

ReceiveAllMulticast 2550136834

Activez la réception de tous les paquets IPv4 multidiffusion sur le réseau. Il s’agit de paquets avec des adresses de destination de la plage 224.0.0.0 à 239.255.255.255.255. Le socket doit avoir la famille InterNetworkd’adresses , le type de socket doit être Raw, et le type de protocole doit être Udp. L’utilisateur actuel doit appartenir au groupe Administrateurs sur l’ordinateur local, et le socket doit être lié à un port spécifique. Cette valeur est égale à la constante Winsock 2 SIO_RCVALL_MCAST.

ReceiveAllIgmpMulticast 2550136835

Activez la réception de tous les paquets IGMP (Internet Group Management Protocol) sur le réseau. Le socket doit avoir la famille InterNetworkd’adresses , le type de socket doit être Raw, et le type de protocole doit être Igmp. L’utilisateur actuel doit appartenir au groupe Administrateurs sur l’ordinateur local, et le socket doit être lié à un port spécifique. Cette valeur est égale à la constante Winsock 2 SIO_RCVALL_IGMPMCAST.

KeepAliveValues 2550136836

Contrôlez l’envoi de paquets TCP keep-alive et l’intervalle auquel ils sont envoyés. Pour plus d’informations, consultez la section RFC 1122, section 4.2.3.6. Cette valeur est égale à la constante Winsock 2 SIO_KEEPALIVE_VALS.

AbsorbRouterAlert 2550136837

Cette valeur est égale à la constante winsock 2 SIO_ABSORB_RTRALERT.

UnicastInterface 2550136838

Définissez l’interface utilisée pour les paquets de monodiffusion sortants. Cette valeur est égale à la constante Winsock 2 SIO_UCAST_IF.

LimitBroadcasts 2550136839

Cette valeur est égale à la constante Winsock 2 SIO_LIMIT_BROADCASTS.

BindToInterface 2550136840

Liez le socket à un index d’interface spécifié. Cette valeur est égale à la constante winsock 2 SIO_INDEX_BIND.

MulticastInterface 2550136841

Définissez l’interface utilisée pour les paquets de multidiffusion sortants. L’interface est identifiée par son index. Cette valeur est égale à la constante Winsock 2 SIO_INDEX_MCASTIF.

AddMulticastGroupOnInterface 2550136842

Joignez un groupe de multidiffusion à l’aide d’une interface identifiée par son index. Cette valeur est égale à la constante winsock 2 SIO_INDEX_ADD_MCAST.

DeleteMulticastGroupFromInterface 2550136843

Supprimez le socket d’un groupe de multidiffusion. Cette valeur est égale à la constante winsock 2 SIO_INDEX_ADD_MCAST.

GetExtensionFunctionPointer 3355443206

Obtenez des fonctions spécifiques au fournisseur qui ne font pas partie de la spécification Winsock. Les fonctions sont spécifiées à l’aide de leur GUID attribué par le fournisseur. Cette valeur est égale à la constante Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER.

GetQos 3355443207

Récupérez la structure QOS associée au socket. Cette valeur est égale à la constante Winsock 2 SIO_GET_QOS.

GetGroupQos 3355443208

Retourne les attributs QoS (Quality of Service) du groupe de sockets. Cette valeur est réservée pour une utilisation ultérieure et est égale à la constante Winsock 2 SIO_GET_GROUP_QOS.

TranslateHandle 3355443213

Retourne un handle pour le socket valide dans le contexte d’une interface complémentaire. Cette valeur est égale à la constante Winsock 2 SIO_TRANSLATE_HANDLE.

RoutingInterfaceQuery 3355443220

Retournez les adresses d’interface qui peuvent être utilisées pour se connecter à l’adresse distante spécifiée. Cette valeur est égale à la constante winsock 2 SIO_ROUTING_INTERFACE_QUERY.

AddressListSort 3355443225

Triez la structure retournée par le AddressListQuery champ et ajoutez des informations d’ID d’étendue pour les adresses IPv6. Ce code de contrôle est pris en charge sur Windows XP et les systèmes d’exploitation ultérieurs. Cette valeur est égale à la constante Winsock 2 SIO_ADDRESS_LIST_SORT.

Exemples

L’exemple de code suivant appelle la IOControl(IOControlCode, Byte[], Byte[]) méthode avec une valeur de paramètre DataToRead et compare le résultat à l’accès à la propriété.Available

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;
}

Remarques

L’énumération IOControlCode fournit des valeurs nommées pour spécifier des modes opérationnels de socket. Ces valeurs sont les codes de contrôle passés à la fonction Windows Sockets 2 (Winsock 2). WSAIoctl

S’applique à