IOControlCode Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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