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