IOControlCode Enumeración

Definición

Especifica los códigos de control de E/S admitidos por el método 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
Herencia
IOControlCode

Campos

AbsorbRouterAlert 2550136837

Este valor es igual a la constante SIO_ABSORB_RTRALERT de Winsock 2.This value is equal to the Winsock 2 SIO_ABSORB_RTRALERT constant.

AddMulticastGroupOnInterface 2550136842

Se utiliza para unirse a un grupo de multidifusión a través de una interfaz identificada por su índice.Join a multicast group using an interface identified by its index. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_INDEX_ADD_MCAST de Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant.

AddressListChange 671088663

Habilita la recepción de notificaciones cuando cambia la lista de interfaces locales de la familia de protocolos del socket.Enable receiving notification when the list of local interfaces for the socket's protocol family changes. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_ADDRESS_LIST_CHANGE de Winsock 2.This value is equal to the Winsock 2 SIO_ADDRESS_LIST_CHANGE constant.

AddressListQuery 1207959574

Devuelve la lista de interfaces locales a las que el socket se puede enlazar.Return the list of local interfaces that the socket can bind to. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_ADDRESS_LIST_QUERY de Winsock 2.This value is equal to the Winsock 2 SIO_ADDRESS_LIST_QUERY constant.

AddressListSort 3355443225

Ordena la estructura devuelta por el campo AddressListQuery y agrega información de identificador de ámbito para las direcciones IPv6.Sort the structure returned by the AddressListQuery field and add scope ID information for IPv6 addresses. Este código de control es compatible con Windows XP y los sistemas operativos posteriores.This control code is supported on Windows XP and later operating systems. Este valor es igual a la constante SIO_ADDRESS_LIST_SORT de Winsock 2.This value is equal to the Winsock 2 SIO_ADDRESS_LIST_SORT constant.

AssociateHandle 2281701377

Asocie este socket al identificador (handle) especificado de la interfaz correspondiente.Associate this socket with the specified handle of a companion interface. Vea el anexo específico de cada protocolo en la referencia o la documentación de Winsock 2 que trata sobre cada interfaz para obtener información adicional detallada.Refer to the appropriate protocol-specific annex in the Winsock 2 reference or documentation for the particular companion interface for additional details. Se recomienda utilizar el Modelo de objetos componentes (COM) en lugar de este comando IOCTL para detectar y realizar un seguimiento del resto de interfaces que puede admitir 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. Este código de control está presente por la compatibilidad con versiones anteriores, en sistemas donde COM no esté disponible o no se pueda utilizar por alguna otra razón.This control code is present for backward compatibility with systems where COM is not available or cannot be used for some other reason. Este valor es igual a la constante SIO_ASSOCIATE_HANDLE de Winsock 2.This value is equal to the Winsock 2 SIO_ASSOCIATE_HANDLE constant.

AsyncIO 2147772029

Habilita la notificación cuando hay datos a la espera de recibirse.Enable notification for when data is waiting to be received. Este valor es igual a la constante FIOASYNC de Winsock 2.This value is equal to the Winsock 2 FIOASYNC constant.

BindToInterface 2550136840

Enlaza el socket a un índice de interfaz especificado.Bind the socket to a specified interface index. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_INDEX_BIND de Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_BIND constant.

DataToRead 1074030207

Devuelve el número de bytes disponibles para leer.Return the number of bytes available for reading. Este valor es igual a la constante FIONREAD de Winsock 2.This value is equal to the Winsock 2 FIONREAD constant.

DeleteMulticastGroupFromInterface 2550136843

Quita el socket de un grupo de multidifusión.Remove the socket from a multicast group. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_INDEX_ADD_MCAST de Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant.

EnableCircularQueuing 671088642

Reemplaza el datagrama en cola más antiguo por un datagrama de entrada cuando las colas de mensajes entrantes están completas.Replace the oldest queued datagram with an incoming datagram when the incoming message queues are full. Este valor es igual a la constante SIO_ENABLE_CIRCULAR_QUEUEING de Winsock 2.This value is equal to the Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING constant.

Flush 671088644

Descarta el contenido de la cola de envío.Discard the contents of the sending queue. Este valor es igual a la constante SIO_FLUSH de Winsock 2.This value is equal to the Winsock 2 SIO_FLUSH constant.

GetBroadcastAddress 1207959557

Devuelve una estructura SOCKADDR que contiene la dirección de difusión de la familia de direcciones del socket actual.Return a SOCKADDR structure that contains the broadcast address for the address family of the current socket. La dirección devuelta se puede utilizar con el método SendTo.The returned address can be used with the SendTo method. Este valor es igual a la constante SIO_GET_BROADCAST_ADDRESS de Winsock 2.This value is equal to the Winsock 2 SIO_GET_BROADCAST_ADDRESS constant. Su valor sólo se puede utilizar en sockets UDP (Protocolo de datagramas de usuarios).This value can be used on User Datagram Protocol (UDP) sockets only.

GetExtensionFunctionPointer 3355443206

Obtiene funciones específicas del proveedor que no forman parte de la especificación Winsock.Obtain provider-specific functions that are not part of the Winsock specification. Las funciones se especifican utilizando el GUID asignado por su proveedor.Functions are specified using their provider-assigned GUID. Este valor es igual a la constante SIO_GET_EXTENSION_FUNCTION_POINTER de Winsock 2.This value is equal to the Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER constant.

GetGroupQos 3355443208

Devuelve los atributos de Calidad del servicio (QoS) del grupo de sockets.Return the Quality of Service (QOS) attributes for the socket group. Este valor se reserva para uso futuro y es igual a la constante SIO_GET_GROUP_QOS de Winsock 2.This value is reserved for future use, and is equal to the Winsock 2 SIO_GET_GROUP_QOS constant.

GetQos 3355443207

Recupera la estructura QoS asociada al socket.Retrieve the QOS structure associated with the socket. Este control sólo puede utilizar en plataformas que proporcionan un transporte compatible con QoS (Windows Me, Windows 2000 y posteriores). Este valor es igual a la constante SIO_GET_QOS de 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 2550136836

Controla el envío de paquetes TCP "keep-alive" y el intervalo en el que se envían.Control sending TCP keep-alive packets and the interval at which they are sent. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Para obtener información adicional, consulte el documento RFC 1122 sección 4.2.3.6.For additional information, see RFC 1122 section 4.2.3.6. Este valor es igual a la constante SIO_KEEPALIVE_VALS de Winsock 2.This value is equal to the Winsock 2 SIO_KEEPALIVE_VALS constant.

LimitBroadcasts 2550136839

Este valor es igual a la constante SIO_LIMIT_BROADCASTS de Winsock 2.This value is equal to the Winsock 2 SIO_LIMIT_BROADCASTS constant.

MulticastInterface 2550136841

Establece la interfaz utilizada para los paquetes de multidifusión salientes.Set the interface used for outgoing multicast packets. La interfaz se identifica mediante su índice.The interface is identified by its index. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_INDEX_MCASTIF de Winsock 2.This value is equal to the Winsock 2 SIO_INDEX_MCASTIF constant.

MulticastScope 2281701386

Controla el número de veces que un enrutador puede reenviar un paquete de multidifusión, también conocido como TTL (Período de vida o, en inglés, Time To Live) o número de saltos.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. Este valor es igual a la constante SIO_MULTICAST_SCOPE de Winsock 2.This value is equal to the Winsock 2 SIO_MULTICAST_SCOPE constant.

MultipointLoopback 2281701385

Controla si los datos de multidifusión enviados por el socket aparecerán como datos de entrada en la cola de recepción de sockets.Control whether multicast data sent by the socket appears as incoming data in the sockets receive queue. Este valor es igual a la constante SIO_MULTIPOINT_LOOPBACK de Winsock 2.This value is equal to the Winsock 2 SIO_MULTIPOINT_LOOPBACK constant.

NamespaceChange 2281701401

Controla si el socket recibirá notificación cuando una consulta de espacio de nombres deje de ser válida.Control whether the socket receives notification when a namespace query becomes invalid. Este código de control es compatible con Windows XP y los sistemas operativos posteriores.This control code is supported on Windows XP and later operating systems. Este valor es igual a la constante SIO_NSP_NOTIFY_CHANGE de Winsock 2.This value is equal to the Winsock 2 SIO_NSP_NOTIFY_CHANGE constant.

NonBlockingIO 2147772030

Controla el comportamiento de bloqueo del socket.Control the blocking behavior of the socket. Si el argumento especificado en este código de control es cero, el socket se coloca en modo de bloqueo.If the argument specified with this control code is zero, the socket is placed in blocking mode. Si el argumento es distinto de cero, el socket se coloca en modo de no bloqueo.If the argument is nonzero, the socket is placed in nonblocking mode. Este valor es igual a la constante FIONBIO de Winsock 2.This value is equal to the Winsock 2 FIONBIO constant.

OobDataRead 1074033415

Devuelve información sobre datos fuera de banda a la espera de recibirse.Return information about out-of-band data waiting to be received. Al utilizar este código de control en sockets de secuencia, el valor devuelto indica el número de bytes disponibles.When using this control code on stream sockets, the return value indicates the number of bytes available.

QueryTargetPnpHandle 1207959576

Recupera el identificador SOCKET del proveedor subyacente.Retrieve the underlying provider's SOCKET handle. Dicho identificador se puede utilizar para recibir la notificación de eventos Plug and Play.This handle can be used to receive plug-and-play event notification. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_QUERY_TARGET_PNP_HANDLE de Winsock 2.This value is equal to the Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE constant.

ReceiveAll 2550136833

Permite la recepción de todos los paquetes IPv4 de la red.Enable receiving all IPv4 packets on the network. El socket debe tener la familia de direcciones InterNetwork; el tipo de socket debe ser Raw y el tipo de protocolo debe ser IP.The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be IP. El usuario actual debe pertenecer al grupo Administradores del equipo local, y el socket debe estar enlazado a un puerto concreto.The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_RCVALL de Winsock 2.This value is equal to the Winsock 2 SIO_RCVALL constant.

ReceiveAllIgmpMulticast 2550136835

Permite la recepción de todos los paquetes IGMP (Protocolo de administración de grupos de Internet) de la red.Enable receiving all Internet Group Management Protocol (IGMP) packets on the network. El socket debe tener la familia de direcciones InterNetwork; el tipo de socket debe ser Raw y el tipo de protocolo debe ser Igmp.The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be Igmp. El usuario actual debe pertenecer al grupo Administradores del equipo local, y el socket debe estar enlazado a un puerto concreto.The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_RCVALL_IGMPMCAST de Winsock 2.This value is equal to the Winsock 2 SIO_RCVALL_IGMPMCAST constant.

ReceiveAllMulticast 2550136834

Permite la recepción de todos los paquetes de multidifusión IPv4 de la red.Enable receiving all multicast IPv4 packets on the network. Éstos son paquetes cuya dirección de destino se encuentra en el intervalo 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. El socket debe tener la familia de direcciones InterNetwork; el tipo de socket debe ser Raw y el tipo de protocolo debe ser Udp.The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be Udp. El usuario actual debe pertenecer al grupo Administradores del equipo local, y el socket debe estar enlazado a un puerto concreto.The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. Este código de control es compatible con Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows 2000 and later operating systems. Este valor es igual a la constante SIO_RCVALL_MCAST de Winsock 2.This value is equal to the Winsock 2 SIO_RCVALL_MCAST constant.

RoutingInterfaceChange 2281701397

Habilita la recepción de notificación cuando la interfaz local utilizada para obtener acceso a un extremo remoto de la red varía.Enable receiving notification when the local interface used to access a remote endpoint changes. Este valor es igual a la constante SIO_ROUTING_INTERFACE_CHANGE de Winsock 2.This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_CHANGE constant.

RoutingInterfaceQuery 3355443220

Devuelve las direcciones de interfaz que se pueden utilizar para conectar con la dirección remota especificada.Return the interface addresses that can be used to connect to the specified remote address. Este valor es igual a la constante SIO_ROUTING_INTERFACE_QUERY de Winsock 2.This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_QUERY constant.

SetGroupQos 2281701388

Establece los atributos de Calidad del servicio (QoS) del grupo de sockets.Set the Quality of Service (QOS) attributes for the socket group. Este valor se reserva para uso futuro y es igual a la constante SIO_SET_GROUP_QOS de Winsock 2.This value is reserved for future use and is equal to the Winsock 2 SIO_SET_GROUP_QOS constant.

SetQos 2281701387

Establece los atributos de Calidad del servicio (QoS) del socket.Set the Quality of Service (QOS) attributes for the socket. QoS define los requisitos de ancho de banda del socket.QOS defines the bandwidth requirements for the socket. Este código de control es compatible con Windows Me, Windows 2000 y los sistemas operativos posteriores.This control code is supported on Windows Me, Windows 2000, and later operating systems. Este valor es igual a la constante SIO_SET_QOS de Winsock 2.This value is equal to the Winsock 2 SIO_SET_QOS constant.

TranslateHandle 3355443213

Devuelve un identificador (handle) del socket que es válido en el contexto de una interfaz de complemento.Return a handle for the socket that is valid in the context of a companion interface. Este valor es igual a la constante SIO_TRANSLATE_HANDLE de Winsock 2.This value is equal to the Winsock 2 SIO_TRANSLATE_HANDLE constant.

UnicastInterface 2550136838

Establece la interfaz utilizada para los paquetes de unidifusión salientes.Set the interface used for outgoing unicast packets. Este valor es igual a la constante SIO_UCAST_IF de Winsock 2.This value is equal to the Winsock 2 SIO_UCAST_IF constant.

Ejemplos

En el ejemplo de código siguiente IOControl(IOControlCode, Byte[], Byte[]) se llama al método con un valor de parámetro DataToRead y se compara el resultado con el acceso a.AvailableThe following code example calls the IOControl(IOControlCode, Byte[], Byte[]) method with a DataToRead parameter value and compares the result with accessing the.Available propiedad.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;
}

Comentarios

La IOControlCode enumeración proporciona valores con nombre para especificar los modos operativos de socket.The IOControlCode enumeration provides named values for specifying socket operational modes. Estos valores son los códigos de control que se pasan a la función Windows Sockets 2 WSAIoctl (Winsock 2).These values are the control codes passed to the Windows Sockets 2 (Winsock 2) WSAIoctl function.

Se aplica a