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 IO supportati dal metodo IOControl(Int32, Byte[], Byte[]).
public enum class IOControlCode
public enum IOControlCode
type IOControlCode =
Public Enum IOControlCode
- Ereditarietà
Campi
AbsorbRouterAlert | 2550136837 | Questo valore è uguale alla costante SIO_ABSORB_RTRALERT di Winsock 2. |
AddMulticastGroupOnInterface | 2550136842 | Esegue l'unione a un gruppo multicast utilizzando un'interfaccia identificata dal proprio indice. Questo valore è uguale alla costante SIO_INDEX_ADD_MCAST di Winsock 2. |
AddressListChange | 671088663 | Consente di ricevere un avviso se l'elenco delle interfacce locali relative alla famiglia di protocolli del socket viene modificato. Questo valore è uguale alla costante SIO_ADDRESS_LIST_CHANGE di Winsock 2. |
AddressListQuery | 1207959574 | Restituisce l'elenco delle interfacce locali a cui è possibile associare il socket. Questo valore è uguale alla costante SIO_ADDRESS_LIST_QUERY di Winsock 2. |
AddressListSort | 3355443225 | Ordina la struttura restituita dal campo AddressListQuery e aggiunge le informazioni sull'ID dell'ambito per gli indirizzi IPv6. Questo codice di controllo è supportato nel sistema operativo Windows XP e versioni successive. Questo valore è uguale alla costante SIO_ADDRESS_LIST_SORT di Winsock 2. |
AssociateHandle | 2281701377 | Associa il socket all'handle specificato di un'interfaccia correlata. Per altri dettagli, vedere l'allegato specifico del protocollo appropriato nella documentazione di riferimento o nella documentazione di Winsock 2. Si consiglia di utilizzare il modello COM (Component Object Model) anziché IOCTL per identificare e registrare le eventuali altre interfacce supportate da un socket. Questo codice di controllo garantisce la compatibilità con le versioni precedenti di sistemi in cui il modello COM non è disponibile o non può essere utilizzato per altri motivi. Questo valore è uguale alla costante SIO_ASSOCIATE_HANDLE di Winsock 2. |
AsyncIO | 2147772029 | Consente l'invio di un avviso quando i dati sono in attesa di essere ricevuti. Questo valore è uguale alla costante FIOASYNC di Winsock 2. |
BindToInterface | 2550136840 | Associa il socket all'indice di un'interfaccia specificato. Questo valore è uguale alla costante SIO_INDEX_BIND di Winsock 2. |
DataToRead | 1074030207 | Restituisce il numero di byte disponibili per la lettura. Questo valore è uguale alla costante FIONREAD di Winsock 2. |
DeleteMulticastGroupFromInterface | 2550136843 | Rimuove il socket da un gruppo multicast. Questo valore è uguale alla costante SIO_INDEX_ADD_MCAST di Winsock 2. |
EnableCircularQueuing | 671088642 | Sostituisce il datagramma in coda da più tempo con un datagramma in arrivo se le code dei messaggi in arrivo sono piene. Questo valore è uguale alla costante SIO_ENABLE_CIRCULAR_QUEUEING di Winsock 2. |
Flush | 671088644 | Elimina il contenuto della coda di invio. Questo valore è uguale alla costante SIO_FLUSH di Winsock 2. |
GetBroadcastAddress | 1207959557 | Restituisce una struttura SOCKADDR contenente l'indirizzo broadcast relativo alla famiglia di indirizzi del socket corrente. L'indirizzo restituito può essere utilizzato con il metodo SendTo. Questo valore è uguale alla costante SIO_GET_BROADCAST_ADDRESS di Winsock 2. Questo valore può essere utilizzato solo in socket UDP (User Datagram Protocol). |
GetExtensionFunctionPointer | 3355443206 | Ottiene le funzioni specifiche del provider non incluse nella specifica Winsock. Le funzioni vengono specificate tramite il GUID assegnato dal provider. Questo valore è uguale alla costante SIO_GET_EXTENSION_FUNCTION_POINTER di Winsock 2. |
GetGroupQos | 3355443208 | Restituisce gli attributi della qualità di servizio (QOS) per il gruppo di socket. Questo valore è riservato per un uso futuro ed è uguale alla costante SIO_GET_GROUP_QOS di Winsock 2. |
GetQos | 3355443207 | Recupera la struttura QOS associata al socket. Questo valore è uguale alla costante SIO_GET_QOS di Winsock 2. |
KeepAliveValues | 2550136836 | Controllo che invia pacchetti keep-alive TCP e l'intervallo con il quale vengono inviati. Per ulteriori informazioni, vedere RFC 1122 sezione 4.2.3.6. Questo valore è uguale alla costante SIO_KEEPALIVE_VALS di Winsock 2. |
LimitBroadcasts | 2550136839 | Questo valore è uguale alla costante SIO_LIMIT_BROADCASTS di Winsock 2. |
MulticastInterface | 2550136841 | Imposta l'interfaccia utilizzata per i pacchetti multicast in uscita. L'interfaccia è identificata dal relativo indice. Questo valore è uguale alla costante SIO_INDEX_MCASTIF di Winsock 2. |
MulticastScope | 2281701386 | Controlla il numero di volte per il quale un pacchetto multicast può essere inoltrato da un router. È noto anche come durata (TTL) o numero di hop. Questo valore è uguale alla costante SIO_MULTICAST_SCOPE di Winsock 2. |
MultipointLoopback | 2281701385 | Controlla se i dati multicast inviati dal socket vengono considerati dati in arrivo nella coda di ricezione del socket. Questo valore è uguale alla costante SIO_MULTIPOINT_LOOPBACK di Winsock 2. |
NamespaceChange | 2281701401 | Controlla se il socket riceve un avviso quando la query di uno spazio dei nomi non è più valida. Questo codice di controllo è supportato nel sistema operativo Windows XP e versioni successive. Questo valore è uguale alla costante SIO_NSP_NOTIFY_CHANGE di Winsock 2. |
NonBlockingIO | 2147772030 | Controlla il comportamento bloccante del socket. Se l'argomento specificato con questo controllo è zero, il socket viene impostato in modalità di blocco. Se l'argomento è diverso da zero, il socket viene impostato in modalità non di blocco. Questo valore è uguale alla costante FIONBIO di Winsock 2. |
OobDataRead | 1074033415 | Restituisce le informazioni sui dati fuori banda in attesa di essere ricevuti. Quando si utilizza questo codice di controllo nei socket di flusso, il valore restituito indica il numero di byte disponibili. |
QueryTargetPnpHandle | 1207959576 | Recupera l'handle SOCKET del provider sottostante. L'handle può essere utilizzato per ricevere la notifica di eventi Plug and Play. Questo valore è uguale alla costante SIO_QUERY_TARGET_PNP_HANDLE di Winsock 2. |
ReceiveAll | 2550136833 | Consente di ricevere tutti i pacchetti IPv4 sulla rete. Il socket deve avere la famiglia di indirizzi InterNetwork, il socket deve essere di tipo Raw, mentre il protocollo deve essere di tipo IP. L'utente corrente deve appartenere al gruppo Administrators del computer locale e il socket deve essere associato a una porta specifica. Questo valore è uguale alla costante SIO_RCVALL di Winsock 2. |
ReceiveAllIgmpMulticast | 2550136835 | Consente di ricevere tutti i pacchetti IGMP (Internet Group Management Protocol) sulla rete. Il socket deve avere la famiglia di indirizzi InterNetwork, il socket deve essere di tipo Raw, mentre il protocollo deve essere di tipo Igmp. L'utente corrente deve appartenere al gruppo Administrators del computer locale e il socket deve essere associato a una porta specifica. Questo valore è uguale alla costante SIO_RCVALL_IGMPMCAST di Winsock 2. |
ReceiveAllMulticast | 2550136834 | Consente di ricevere tutti i pacchetti IPv4 multicast sulla rete. Gli indirizzi di destinazione di questi pacchetti sono compresi nell'intervallo da 224.0.0.0 a 239.255.255.255. Il socket deve avere la famiglia di indirizzi InterNetwork, il socket deve essere di tipo Raw, mentre il protocollo deve essere di tipo Udp. L'utente corrente deve appartenere al gruppo Administrators del computer locale e il socket deve essere associato a una porta specifica. Questo valore è uguale alla costante SIO_RCVALL_MCAST di Winsock 2. |
RoutingInterfaceChange | 2281701397 | Consente di ricevere un avviso se l'interfaccia locale utilizzata per accedere a un endpoint remoto viene modificata. Questo valore è uguale alla costante SIO_ROUTING_INTERFACE_CHANGE di Winsock 2. |
RoutingInterfaceQuery | 3355443220 | Restituisce gli indirizzi dell'interfaccia che è possibile utilizzare per la connessione all'indirizzo remoto specificato. Questo valore è uguale alla costante SIO_ROUTING_INTERFACE_QUERY di Winsock 2. |
SetGroupQos | 2281701388 | Imposta gli attributi della qualità di servizio (QOS) per il gruppo di socket. Questo valore è riservato per un uso futuro ed è uguale alla costante SIO_SET_GROUP_QOS di Winsock 2. |
SetQos | 2281701387 | Imposta gli attributi della qualità di servizio (QOS) per il socket. La qualità di servizio definisce i requisiti di larghezza di banda per il socket. Questo valore è uguale alla costante SIO_SET_QOS di Winsock 2. |
TranslateHandle | 3355443213 | Restituisce un handle per il socket valido nel contesto di un'interfaccia correlata. Questo valore è uguale alla costante SIO_TRANSLATE_HANDLE di Winsock 2. |
UnicastInterface | 2550136838 | Imposta l'interfaccia utilizzata per i pacchetti unicast in uscita. Questo valore è uguale alla costante SIO_UCAST_IF di Winsock 2. |
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
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;
}
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