IOControlCode Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica i codici di controllo I/O supportati dal metodo IOControl(Int32, Byte[], Byte[]).
public enum class IOControlCode
public enum IOControlCode
type IOControlCode =
Public Enum IOControlCode
- Ereditarietà
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| EnableCircularQueuing | 671088642 | Sostituire il datagramma in coda meno recente con un datagramma in ingresso quando le code dei messaggi in arrivo sono piene. Questo valore è uguale alla costante Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING. |
| Flush | 671088644 | Rimuovere il contenuto della coda di invio. Questo valore è uguale alla costante Winsock 2 SIO_FLUSH. |
| AddressListChange | 671088663 | Abilitare la ricezione della notifica quando cambia l'elenco delle interfacce locali per la famiglia di protocolli del socket. Questo valore è uguale alla costante Winsock 2 SIO_ADDRESS_LIST_CHANGE. |
| DataToRead | 1074030207 | Restituisce il numero di byte disponibili per la lettura. Questo valore è uguale alla costante FIONREAD winsock 2. |
| OobDataRead | 1074033415 | Restituisce informazioni sui dati fuori banda in attesa di essere ricevuti. Quando si usa questo codice di controllo nei socket di flusso, il valore restituito indica il numero di byte disponibili. |
| GetBroadcastAddress | 1207959557 | Restituisce una struttura SOCKADDR che contiene l'indirizzo broadcast per la famiglia di indirizzi del socket corrente. L'indirizzo restituito può essere utilizzato con il SendTo metodo . Questo valore è uguale alla costante Winsock 2 SIO_GET_BROADCAST_ADDRESS. Questo valore può essere usato solo nei socket UDP (User Datagram Protocol). |
| AddressListQuery | 1207959574 | Restituisce l'elenco di interfacce locali a cui il socket può essere associato. Questo valore è uguale alla costante Winsock 2 SIO_ADDRESS_LIST_QUERY. |
| QueryTargetPnpHandle | 1207959576 | Recuperare l'handle SOCKET del provider sottostante. Questo handle può essere usato per ricevere la notifica degli eventi plug-and-play. Questo valore è uguale alla costante Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE. |
| AsyncIO | 2147772029 | Abilitare la notifica per quando i dati sono in attesa di ricezione. Questo valore è uguale alla costante FIOASYNC winsock 2. |
| NonBlockingIO | 2147772030 | Controllare il comportamento di blocco del socket. Se l'argomento specificato con questo codice di controllo è zero, il socket viene posizionato in modalità di blocco. Se l'argomento è diverso da zero, il socket viene inserito in modalità non bloccante. Questo valore è uguale alla costante FIONBIO di Winsock 2. |
| AssociateHandle | 2281701377 | Associare questo socket all'handle specificato di un'interfaccia complementare. Per altri dettagli, vedere l'allegato specifico del protocollo appropriato nel riferimento o nella documentazione di Winsock 2. È consigliabile usare Com (Component Object Model) anziché questo IOCTL per individuare e tenere traccia di altre interfacce che potrebbero essere supportate da un socket. Questo codice di controllo è presente per la compatibilità con le versioni precedenti con i sistemi in cui COM non è disponibile o non può essere usato per altri motivi. Questo valore è uguale alla costante Winsock 2 SIO_ASSOCIATE_HANDLE. |
| MultipointLoopback | 2281701385 | Controllare se i dati multicast inviati dal socket vengono visualizzati come dati in ingresso nella coda di ricezione dei socket. Questo valore è uguale alla costante Winsock 2 SIO_MULTIPOINT_LOOPBACK. |
| MulticastScope | 2281701386 | Controllare il numero di volte in cui un pacchetto multicast può essere inoltrato da un router, noto anche come TTL (Time to Live) o conteggio hop. Questo valore è uguale alla costante Winsock 2 SIO_MULTICAST_SCOPE. |
| SetQos | 2281701387 | Impostare gli attributi QOS (Quality of Service) per il socket. QOS definisce i requisiti di larghezza di banda per il socket. Questo valore è uguale alla costante Winsock 2 SIO_SET_QOS. |
| SetGroupQos | 2281701388 | Impostare gli attributi QOS (Quality of Service) per il gruppo di socket. Questo valore è riservato per uso futuro ed è uguale alla costante Winsock 2 SIO_SET_GROUP_QOS. |
| RoutingInterfaceChange | 2281701397 | Abilitare la ricezione di una notifica quando l'interfaccia locale usata per accedere a un endpoint remoto cambia. Questo valore è uguale alla costante Winsock 2 SIO_ROUTING_INTERFACE_CHANGE. |
| NamespaceChange | 2281701401 | Controllare se il socket riceve una notifica quando una query dello spazio dei nomi non è valida. Questo codice di controllo è supportato nei sistemi operativi Windows XP e versioni successive. Questo valore è uguale alla costante Winsock 2 SIO_NSP_NOTIFY_CHANGE. |
| ReceiveAll | 2550136833 | Abilitare la ricezione di tutti i pacchetti IPv4 in rete. Il socket deve avere la famiglia InterNetworkdi indirizzi , il tipo di socket deve essere Rawe il tipo di protocollo deve essere IP. L'utente corrente deve appartenere al gruppo Administrators nel computer locale e il socket deve essere associato a una porta specifica. Questo valore è uguale alla costante Winsock 2 SIO_RCVALL. |
| ReceiveAllMulticast | 2550136834 | Abilitare la ricezione di tutti i pacchetti IPv4 multicast nella rete. Si tratta di pacchetti con indirizzi di destinazione compresi nell'intervallo da 224.0.0.0 a 239.255.255.255. Il socket deve avere la famiglia InterNetworkdi indirizzi , il tipo di socket deve essere Rawe il tipo di protocollo deve essere Udp. L'utente corrente deve appartenere al gruppo Administrators nel computer locale e il socket deve essere associato a una porta specifica. Questo valore è uguale alla costante Winsock 2 SIO_RCVALL_MCAST. |
| ReceiveAllIgmpMulticast | 2550136835 | Abilitare la ricezione di tutti i pacchetti IGMP (Internet Group Management Protocol) nella rete. Il socket deve avere la famiglia InterNetworkdi indirizzi , il tipo di socket deve essere Rawe il tipo di protocollo deve essere Igmp. L'utente corrente deve appartenere al gruppo Administrators nel computer locale e il socket deve essere associato a una porta specifica. Questo valore è uguale alla costante Winsock 2 SIO_RCVALL_IGMPMCAST. |
| KeepAliveValues | 2550136836 | Controllare l'invio di pacchetti keep-alive TCP e l'intervallo in cui vengono inviati. Per altre informazioni, vedere RFC 1122 sezione 4.2.3.6. Questo valore è uguale alla costante Winsock 2 SIO_KEEPALIVE_VALS. |
| AbsorbRouterAlert | 2550136837 | Questo valore è uguale alla costante winsock 2 SIO_ABSORB_RTRALERT. |
| UnicastInterface | 2550136838 | Impostare l'interfaccia utilizzata per i pacchetti unicast in uscita. Questo valore è uguale alla costante Winsock 2 SIO_UCAST_IF. |
| LimitBroadcasts | 2550136839 | Questo valore è uguale alla costante Winsock 2 SIO_LIMIT_BROADCASTS. |
| BindToInterface | 2550136840 | Associare il socket a un indice di interfaccia specificato. Questo valore è uguale alla costante Winsock 2 SIO_INDEX_BIND. |
| MulticastInterface | 2550136841 | Impostare l'interfaccia usata per i pacchetti multicast in uscita. L'interfaccia è identificata dal relativo indice. Questo valore è uguale alla costante Winsock 2 SIO_INDEX_MCASTIF. |
| AddMulticastGroupOnInterface | 2550136842 | Creare un join di un gruppo multicast usando un'interfaccia identificata dal relativo indice. Questo valore è uguale alla costante Winsock 2 SIO_INDEX_ADD_MCAST. |
| DeleteMulticastGroupFromInterface | 2550136843 | Rimuovere il socket da un gruppo multicast. Questo valore è uguale alla costante Winsock 2 SIO_INDEX_ADD_MCAST. |
| GetExtensionFunctionPointer | 3355443206 | Ottenere funzioni specifiche del provider che non fanno parte della specifica Winsock. Le funzioni vengono specificate usando il GUID assegnato dal provider. Questo valore è uguale alla costante Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER. |
| GetQos | 3355443207 | Recuperare la struttura QOS associata al socket. Questo valore è uguale alla costante Winsock 2 SIO_GET_QOS. |
| GetGroupQos | 3355443208 | Restituisce gli attributi QOS (Quality of Service) per il gruppo di socket. Questo valore è riservato per uso futuro ed è uguale alla costante Winsock 2 SIO_GET_GROUP_QOS. |
| TranslateHandle | 3355443213 | Restituisce un handle per il socket valido nel contesto di un'interfaccia complementare. Questo valore è uguale alla costante Winsock 2 SIO_TRANSLATE_HANDLE. |
| RoutingInterfaceQuery | 3355443220 | Restituisce gli indirizzi dell'interfaccia che possono essere usati per connettersi all'indirizzo remoto specificato. Questo valore è uguale alla costante winsock 2 SIO_ROUTING_INTERFACE_QUERY. |
| AddressListSort | 3355443225 | Ordinare la struttura restituita dal AddressListQuery campo e aggiungere le informazioni sull'ID ambito per gli indirizzi IPv6. Questo codice di controllo è supportato nei sistemi operativi Windows XP e versioni successive. Questo valore è uguale alla costante Winsock 2 SIO_ADDRESS_LIST_SORT. |
Esempio
Nell'esempio di codice seguente viene chiamato il IOControl(IOControlCode, Byte[], Byte[]) metodo con un valore di parametro DataToRead e viene confrontato il risultato con l'accesso alla proprietà .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;
}
Commenti
L'enumerazione IOControlCode fornisce valori denominati per specificare le modalità operative del socket. Questi valori sono i codici di controllo passati alla funzione Windows Sockets 2 (Winsock 2). WSAIoctl