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

AbsorbRouterAlert 2550136837

Cette valeur est égale à la constante SIO_ABSORB_RTRALERT de Winsock 2.

AddMulticastGroupOnInterface 2550136842

Joint un groupe multicast à l'aide d'une interface identifiée par son index. Cette valeur est égale à la constante SIO_INDEX_ADD_MCAST de Winsock 2.

AddressListChange 671088663

Active la réception d'une notification en cas de modification de la liste des interfaces locales pour la famille de protocoles du socket. Cette valeur est égale à la constante SIO_ADDRESS_LIST_CHANGE de Winsock 2.

AddressListQuery 1207959574

Retourne la liste des interfaces locales auxquelles le socket peut se lier. Cette valeur est égale à la constante SIO_ADDRESS_LIST_QUERY de Winsock 2.

AddressListSort 3355443225

Trie la structure retournée par le champ AddressListQuery et ajoute les informations sur l'ID de portée pour les adresses IPv6. Ce code de contrôle est pris en charge sur les systèmes d'exploitation Windows XP et versions ultérieures. Cette valeur est égale à la constante SIO_ADDRESS_LIST_SORT de Winsock 2.

AssociateHandle 2281701377

Associe ce socket au handle spécifié d'une interface connexe. Pour plus d’informations, reportez-vous à l’annexe spécifique au protocole appropriée dans la référence ou la documentation de Winsock 2 pour l’interface complémentaire particulière. Il est recommandé d'utiliser le modèle COM (Component Object Model) plutôt que cet IOCTL pour rechercher et assurer le suivi d'autres interfaces pouvant être prises en charge par un socket. Ce code de contrôle est fourni à des fins de compatibilité descendante avec les systèmes où le modèle COM n'est pas disponible ou ne peut pas être utilisé pour toute autre raison. Cette valeur est égale à la constante SIO_ASSOCIATE_HANDLE de Winsock 2.

AsyncIO 2147772029

Active la notification lorsque des données sont en attente de réception. Cette valeur est égale à la constante FIOASYNC de Winsock 2.

BindToInterface 2550136840

Lie le socket à un index d'interface spécifié. Cette valeur est égale à la constante SIO_INDEX_BIND de Winsock 2.

DataToRead 1074030207

Retourne le nombre d'octets disponible pour la lecture. Cette valeur est égale à la constante FIONREAD de Winsock 2.

DeleteMulticastGroupFromInterface 2550136843

Supprime le socket d'un groupe multicast. Cette valeur est égale à la constante SIO_INDEX_ADD_MCAST de Winsock 2.

EnableCircularQueuing 671088642

Remplace le datagramme le plus ancien de la file d'attente par un datagramme entrant lorsque les files d'attente des messages entrants sont saturées. Cette valeur est égale à la constante SIO_ENABLE_CIRCULAR_QUEUEING de Winsock 2.

Flush 671088644

Ignore le contenu de la file d'attente émettrice. Cette valeur est égale à la constante SIO_FLUSH de Winsock 2.

GetBroadcastAddress 1207959557

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

GetExtensionFunctionPointer 3355443206

Obtient 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 le GUID assigné par leur fournisseur. Cette valeur est égale à la constante SIO_GET_EXTENSION_FUNCTION_POINTER de Winsock 2.

GetGroupQos 3355443208

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

GetQos 3355443207

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

KeepAliveValues 2550136836

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

LimitBroadcasts 2550136839

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

MulticastInterface 2550136841

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

MulticastScope 2281701386

Contrôle le nombre de fois qu'un paquet multicast peut être transféré par un routeur, également connu sous le nom de TTL (Time to Live) ou de nombre de sauts. Cette valeur est égale à la constante SIO_MULTICAST_SCOPE de Winsock 2.

MultipointLoopback 2281701385

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

NamespaceChange 2281701401

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

NonBlockingIO 2147772030

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

OobDataRead 1074033415

Retourne des informations relatives aux données hors bande en attente de réception. Lors de l'utilisation de code de contrôle sur des sockets flux, la valeur de retour indique le nombre d'octets disponible.

QueryTargetPnpHandle 1207959576

Récupère le handle SOCKET du fournisseur sous-jacent. Ce handle peut être utilisé pour recevoir une notification en cas d'événement Plug-and-Play. Cette valeur est égale à la constante SIO_QUERY_TARGET_PNP_HANDLE de Winsock 2.

ReceiveAll 2550136833

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

ReceiveAllIgmpMulticast 2550136835

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

ReceiveAllMulticast 2550136834

Active la réception de tous les paquets IPv4 multicast sur le réseau. Il s'agit des paquets possédant des adresses de destination comprises entre 224.0.0.0 et 239.255.255.255. Le socket doit posséder la famille d'adresses InterNetwork, le type de socket doit être Raw et le type de protocole doit être Udp. L'utilisateur actuel doit appartenir au groupe d'administrateurs sur l'ordinateur local, et le socket doit être lié à un port spécifique. Cette valeur est égale à la constante SIO_RCVALL_MCAST de Winsock 2.

RoutingInterfaceChange 2281701397

Active la réception d'une notification en cas de modification de l'interface locale utilisée pour accéder à un point de terminaison distant. Cette valeur est égale à la constante SIO_ROUTING_INTERFACE_CHANGE de Winsock 2.

RoutingInterfaceQuery 3355443220

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

SetGroupQos 2281701388

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

SetQos 2281701387

Définit les attributs de qualité de service (Quality of Service, SOS) pour le socket. QOS définit les exigences du socket en matière de bande passante. Cette valeur est égale à la constante SIO_SET_QOS de Winsock 2.

TranslateHandle 3355443213

Retourne un handle pour le socket qui est valide dans le contexte d'une interface connexe. Cette valeur est égale à la constante SIO_TRANSLATE_HANDLE de Winsock 2.

UnicastInterface 2550136838

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

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

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

Remarques

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

S’applique à