IOControlCode IOControlCode IOControlCode IOControlCode Enum

Definizione

Specifica i codici di controllo IO supportati dal metodo IOControl(Int32, Byte[], Byte[]).Specifies the IO control codes supported by the IOControl(Int32, Byte[], Byte[]) method.

public enum class IOControlCode
public enum IOControlCode
type IOControlCode = 
Public Enum IOControlCode
Ereditarietà
IOControlCodeIOControlCodeIOControlCodeIOControlCode

Campi

AbsorbRouterAlert AbsorbRouterAlert AbsorbRouterAlert AbsorbRouterAlert 2550136837

Questo valore è uguale alla costante SIO_ABSORB_RTRALERT di Winsock 2.This value is equal to the Winsock 2 SIO_ABSORB_RTRALERT constant.

AddMulticastGroupOnInterface AddMulticastGroupOnInterface AddMulticastGroupOnInterface AddMulticastGroupOnInterface 2550136842

Esegue l'unione a un gruppo multicast utilizzando un'interfaccia identificata dal proprio indice.Join a multicast group using an interface identified by its index. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_INDEX_ADD_MCAST di Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant.

AddressListChange AddressListChange AddressListChange AddressListChange 671088663

Consente di ricevere un avviso se l'elenco delle interfacce locali relative alla famiglia di protocolli del socket viene modificato.Enable receiving notification when the list of local interfaces for the socket's protocol family changes. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_ADDRESS_LIST_CHANGE di Winsock 2.This value is equal to the Winsock 2 SIO_ADDRESS_LIST_CHANGE constant.

AddressListQuery AddressListQuery AddressListQuery AddressListQuery 1207959574

Restituisce l'elenco delle interfacce locali a cui è possibile associare il socket.Return the list of local interfaces that the socket can bind to. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_ADDRESS_LIST_QUERY di Winsock 2.This value is equal to the Winsock 2 SIO_ADDRESS_LIST_QUERY constant.

AddressListSort AddressListSort AddressListSort AddressListSort 3355443225

Ordina la struttura restituita dal campo AddressListQuery e aggiunge le informazioni sull'ID dell'ambito per gli indirizzi IPv6.Sort the structure returned by the AddressListQuery field and add scope ID information for IPv6 addresses. Questo codice di controllo è supportato nel sistema operativo Windows XP e versioni successive.This control code is supported on Windows XP and later operating systems. Questo valore è uguale alla costante SIO_ADDRESS_LIST_SORT di Winsock 2.This value is equal to the Winsock 2 SIO_ADDRESS_LIST_SORT constant.

AssociateHandle AssociateHandle AssociateHandle AssociateHandle 2281701377

Associa il socket all'handle specificato di un'interfaccia correlata.Associate this socket with the specified handle of a companion interface. Per altre informazioni, nei riferimenti o nella documentazione di Winsock 2 relativa all'interfaccia correlata desiderata, fare riferimento all'allegato specifico del protocollo.Refer to the appropriate protocol-specific annex in the Winsock 2 reference or documentation for the particular companion interface for additional details. Si consiglia di utilizzare il modello COM (Component Object Model) anziché IOCTL per identificare e registrare le eventuali altre interfacce supportate da un socket.It is recommended that the Component Object Model (COM) be used instead of this IOCTL to discover and track other interfaces that might be supported by a 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.This control code is present for backward compatibility with systems where COM is not available or cannot be used for some other reason. Questo valore è uguale alla costante SIO_ASSOCIATE_HANDLE di Winsock 2.This value is equal to the Winsock 2 SIO_ASSOCIATE_HANDLE constant.

AsyncIO AsyncIO AsyncIO AsyncIO 2147772029

Consente l'invio di un avviso quando i dati sono in attesa di essere ricevuti.Enable notification for when data is waiting to be received. Questo valore è uguale alla costante FIOASYNC di Winsock 2.This value is equal to the Winsock 2 FIOASYNC constant.

BindToInterface BindToInterface BindToInterface BindToInterface 2550136840

Associa il socket all'indice di un'interfaccia specificato.Bind the socket to a specified interface index. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_INDEX_BIND di Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_BIND constant.

DataToRead DataToRead DataToRead DataToRead 1074030207

Restituisce il numero di byte disponibili per la lettura.Return the number of bytes available for reading. Questo valore è uguale alla costante FIONREAD di Winsock 2.This value is equal to the Winsock 2 FIONREAD constant.

DeleteMulticastGroupFromInterface DeleteMulticastGroupFromInterface DeleteMulticastGroupFromInterface DeleteMulticastGroupFromInterface 2550136843

Rimuove il socket da un gruppo multicast.Remove the socket from a multicast group. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_INDEX_ADD_MCAST di Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant.

EnableCircularQueuing EnableCircularQueuing EnableCircularQueuing EnableCircularQueuing 671088642

Sostituisce il datagramma in coda da più tempo con un datagramma in arrivo se le code dei messaggi in arrivo sono piene.Replace the oldest queued datagram with an incoming datagram when the incoming message queues are full. Questo valore è uguale alla costante SIO_ENABLE_CIRCULAR_QUEUEING di Winsock 2.This value is equal to the Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING constant.

Flush Flush Flush Flush 671088644

Elimina il contenuto della coda di invio.Discard the contents of the sending queue. Questo valore è uguale alla costante SIO_FLUSH di Winsock 2.This value is equal to the Winsock 2 SIO_FLUSH constant.

GetBroadcastAddress GetBroadcastAddress GetBroadcastAddress GetBroadcastAddress 1207959557

Restituisce una struttura SOCKADDR contenente l'indirizzo broadcast relativo alla famiglia di indirizzi del socket corrente.Return a SOCKADDR structure that contains the broadcast address for the address family of the current socket. L'indirizzo restituito può essere utilizzato con il metodo SendTo.The returned address can be used with the SendTo method. Questo valore è uguale alla costante SIO_GET_BROADCAST_ADDRESS di Winsock 2.This value is equal to the Winsock 2 SIO_GET_BROADCAST_ADDRESS constant. Questo valore può essere utilizzato solo in socket UDP (User Datagram Protocol).This value can be used on User Datagram Protocol (UDP) sockets only.

GetExtensionFunctionPointer GetExtensionFunctionPointer GetExtensionFunctionPointer GetExtensionFunctionPointer 3355443206

Ottiene le funzioni specifiche del provider non incluse nella specifica Winsock.Obtain provider-specific functions that are not part of the Winsock specification. Le funzioni vengono specificate tramite il GUID assegnato dal provider.Functions are specified using their provider-assigned GUID. Questo valore è uguale alla costante SIO_GET_EXTENSION_FUNCTION_POINTER di Winsock 2.This value is equal to the Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER constant.

GetGroupQos GetGroupQos GetGroupQos GetGroupQos 3355443208

Restituisce gli attributi della qualità di servizio (QOS) per il gruppo di socket.Return the Quality of Service (QOS) attributes for the socket group. Questo valore è riservato per un uso futuro ed è uguale alla costante SIO_GET_GROUP_QOS di Winsock 2.This value is reserved for future use, and is equal to the Winsock 2 SIO_GET_GROUP_QOS constant.

GetQos GetQos GetQos GetQos 3355443207

Recupera la struttura QOS associata al socket.Retrieve the QOS structure associated with the socket. Questo controllo è supportato solo sulle piattaforme che dispongono di un trasporto con funzionalità QOS (Windows Me, Windows 2000 e versioni successive). Questo valore è uguale alla costante SIO_GET_QOS di Winsock 2.This control is only supported on platforms that provide a QOS capable transport (Windows Me, Windows 2000, and later.) This value is equal to the Winsock 2 SIO_GET_QOS constant.

KeepAliveValues KeepAliveValues KeepAliveValues KeepAliveValues 2550136836

Controllo che invia pacchetti keep-alive TCP e l'intervallo con il quale vengono inviati.Control sending TCP keep-alive packets and the interval at which they are sent. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Per ulteriori informazioni, vedere RFC 1122 sezione 4.2.3.6.For additional information, see RFC 1122 section 4.2.3.6. Questo valore è uguale alla costante SIO_KEEPALIVE_VALS di Winsock 2.This value is equal to the Winsock 2 SIO_KEEPALIVE_VALS constant.

LimitBroadcasts LimitBroadcasts LimitBroadcasts LimitBroadcasts 2550136839

Questo valore è uguale alla costante SIO_LIMIT_BROADCASTS di Winsock 2.This value is equal to the Winsock 2 SIO_LIMIT_BROADCASTS constant.

MulticastInterface MulticastInterface MulticastInterface MulticastInterface 2550136841

Imposta l'interfaccia utilizzata per i pacchetti multicast in uscita.Set the interface used for outgoing multicast packets. L'interfaccia è identificata dal relativo indice.The interface is identified by its index. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_INDEX_MCASTIF di Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_MCASTIF constant.

MulticastScope MulticastScope MulticastScope 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.Control the number of times a multicast packet can be forwarded by a router, also known as the Time to Live (TTL), or hop count. Questo valore è uguale alla costante SIO_MULTICAST_SCOPE di Winsock 2.This value is equal to the Winsock 2 SIO_MULTICAST_SCOPE constant.

MultipointLoopback MultipointLoopback MultipointLoopback MultipointLoopback 2281701385

Controlla se i dati multicast inviati dal socket vengono considerati dati in arrivo nella coda di ricezione del socket.Control whether multicast data sent by the socket appears as incoming data in the sockets receive queue. Questo valore è uguale alla costante SIO_MULTIPOINT_LOOPBACK di Winsock 2.This value is equal to the Winsock 2 SIO_MULTIPOINT_LOOPBACK constant.

NamespaceChange NamespaceChange NamespaceChange NamespaceChange 2281701401

Controlla se il socket riceve un avviso quando la query di uno spazio dei nomi non è più valida.Control whether the socket receives notification when a namespace query becomes invalid. Questo codice di controllo è supportato nel sistema operativo Windows XP e versioni successive.This control code is supported on Windows XP and later operating systems. Questo valore è uguale alla costante SIO_NSP_NOTIFY_CHANGE di Winsock 2.This value is equal to the Winsock 2 SIO_NSP_NOTIFY_CHANGE constant.

NonBlockingIO NonBlockingIO NonBlockingIO NonBlockingIO 2147772030

Controlla il comportamento bloccante del socket.Control the blocking behavior of the socket. Se l'argomento specificato con questo controllo è zero, il socket viene impostato in modalità di blocco.If the argument specified with this control code is zero, the socket is placed in blocking mode. Se l'argomento è diverso da zero, il socket viene impostato in modalità non di blocco.If the argument is nonzero, the socket is placed in nonblocking mode. Questo valore è uguale alla costante FIONBIO di Winsock 2.This value is equal to the Winsock 2 FIONBIO constant.

OobDataRead OobDataRead OobDataRead OobDataRead 1074033415

Restituisce le informazioni sui dati fuori banda in attesa di essere ricevuti.Return information about out-of-band data waiting to be received. Quando si utilizza questo codice di controllo nei socket di flusso, il valore restituito indica il numero di byte disponibili.When using this control code on stream sockets, the return value indicates the number of bytes available.

QueryTargetPnpHandle QueryTargetPnpHandle QueryTargetPnpHandle QueryTargetPnpHandle 1207959576

Recupera l'handle SOCKET del provider sottostante.Retrieve the underlying provider's SOCKET handle. L'handle può essere utilizzato per ricevere la notifica di eventi Plug and Play.This handle can be used to receive plug-and-play event notification. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_QUERY_TARGET_PNP_HANDLE di Winsock 2.This value is equal to the Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE constant.

ReceiveAll ReceiveAll ReceiveAll ReceiveAll 2550136833

Consente di ricevere tutti i pacchetti IPv4 sulla rete.Enable receiving all IPv4 packets on the network. Il socket deve avere la famiglia di indirizzi InterNetwork, il socket deve essere di tipo Raw, mentre il protocollo deve essere di tipo IP.The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be IP. L'utente corrente deve appartenere al gruppo Administrators del computer locale e il socket deve essere associato a una porta specifica.The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_RCVALL di Winsock 2.This value is equal to the Winsock 2 SIO_RCVALL constant.

ReceiveAllIgmpMulticast ReceiveAllIgmpMulticast ReceiveAllIgmpMulticast ReceiveAllIgmpMulticast 2550136835

Consente di ricevere tutti i pacchetti IGMP (Internet Group Management Protocol) sulla rete.Enable receiving all Internet Group Management Protocol (IGMP) packets on the network. Il socket deve avere la famiglia di indirizzi InterNetwork, il socket deve essere di tipo Raw, mentre il protocollo deve essere di tipo Igmp.The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be Igmp. L'utente corrente deve appartenere al gruppo Administrators del computer locale e il socket deve essere associato a una porta specifica.The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_RCVALL_IGMPMCAST di Winsock 2.This value is equal to the Winsock 2 SIO_RCVALL_IGMPMCAST constant.

ReceiveAllMulticast ReceiveAllMulticast ReceiveAllMulticast ReceiveAllMulticast 2550136834

Consente di ricevere tutti i pacchetti IPv4 multicast sulla rete.Enable receiving all multicast IPv4 packets on the network. Gli indirizzi di destinazione di questi pacchetti sono compresi nell'intervallo da 224.0.0.0 a 239.255.255.255.These are packets with destination addresses in the range 224.0.0.0 through 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.The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be Udp. L'utente corrente deve appartenere al gruppo Administrators del computer locale e il socket deve essere associato a una porta specifica.The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. Questo codice di controllo è supportato nel sistema operativo Windows 2000 e versioni successive.This control code is supported on Windows 2000 and later operating systems. Questo valore è uguale alla costante SIO_RCVALL_MCAST di Winsock 2.This value is equal to the Winsock 2 SIO_RCVALL_MCAST constant.

RoutingInterfaceChange RoutingInterfaceChange RoutingInterfaceChange RoutingInterfaceChange 2281701397

Consente di ricevere un avviso se l'interfaccia locale utilizzata per accedere a un endpoint remoto viene modificata.Enable receiving notification when the local interface used to access a remote endpoint changes. Questo valore è uguale alla costante SIO_ROUTING_INTERFACE_CHANGE di Winsock 2.This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_CHANGE constant.

RoutingInterfaceQuery RoutingInterfaceQuery RoutingInterfaceQuery RoutingInterfaceQuery 3355443220

Restituisce gli indirizzi dell'interfaccia che è possibile utilizzare per la connessione all'indirizzo remoto specificato.Return the interface addresses that can be used to connect to the specified remote address. Questo valore è uguale alla costante SIO_ROUTING_INTERFACE_QUERY di Winsock 2.This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_QUERY constant.

SetGroupQos SetGroupQos SetGroupQos SetGroupQos 2281701388

Imposta gli attributi della qualità di servizio (QOS) per il gruppo di socket.Set the Quality of Service (QOS) attributes for the socket group. Questo valore è riservato per un uso futuro ed è uguale alla costante SIO_SET_GROUP_QOS di Winsock 2.This value is reserved for future use and is equal to the Winsock 2 SIO_SET_GROUP_QOS constant.

SetQos SetQos SetQos SetQos 2281701387

Imposta gli attributi della qualità di servizio (QOS) per il socket.Set the Quality of Service (QOS) attributes for the socket. La qualità di servizio definisce i requisiti di larghezza di banda per il socket.QOS defines the bandwidth requirements for the socket. Questo codice di controllo è supportato nei sistemi operativi Windows Me, Windows 2000 e versioni successive.This control code is supported on Windows Me, Windows 2000, and later operating systems. Questo valore è uguale alla costante SIO_SET_QOS di Winsock 2.This value is equal to the Winsock 2 SIO_SET_QOS constant.

TranslateHandle TranslateHandle TranslateHandle TranslateHandle 3355443213

Restituisce un handle per il socket valido nel contesto di un'interfaccia correlata.Return a handle for the socket that is valid in the context of a companion interface. Questo valore è uguale alla costante SIO_TRANSLATE_HANDLE di Winsock 2.This value is equal to the Winsock 2 SIO_TRANSLATE_HANDLE constant.

UnicastInterface UnicastInterface UnicastInterface UnicastInterface 2550136838

Imposta l'interfaccia utilizzata per i pacchetti unicast in uscita.Set the interface used for outgoing unicast packets. Questo valore è uguale alla costante SIO_UCAST_IF di Winsock 2.This value is equal to the Winsock 2 SIO_UCAST_IF constant.

Esempi

Nell'esempio di codice viene chiamato il IOControl(IOControlCode, Byte[], Byte[]) metodo con un valore di parametro DataToRead e confronta il risultato con l'accesso ai.AvailableThe following code example calls the IOControl(IOControlCode, Byte[], Byte[]) method with a DataToRead parameter value and compares the result with accessing the.Available .property.

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

Il IOControlCode enumerazione fornisce valori denominati per specificare le modalità operative del socket.The IOControlCode enumeration provides named values for specifying socket operational modes. Questi valori sono i codici di controllo passati alla sezione 2 di Windows Sockets (Winsock 2) WSAIoctl (funzione).These values are the control codes passed to the Windows Sockets 2 (Winsock 2) WSAIoctl function.

Si applica a