IOControlCode Enumeração

Definição

Especifica os códigos de controlo de IO suportados pelo IOControl(Int32, Byte[], Byte[]) método.

public enum class IOControlCode
public enum IOControlCode
type IOControlCode = 
Public Enum IOControlCode
Herança
IOControlCode

Campos

Name Valor Description
EnableCircularQueuing 671088642

Substitua o datagrama mais antigo em fila por um datagrama de entrada quando as filas de mensagens de entrada estiverem cheias. Este valor é igual à constante de Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING.

Flush 671088644

Descarte o conteúdo da fila de envio. Este valor é igual à constante Winsock 2 SIO_FLUSH.

AddressListChange 671088663

Ative a receção de notificações quando a lista de interfaces locais para a família de protocolos do socket muda. Este valor é igual à constante Winsock 2 SIO_ADDRESS_LIST_CHANGE.

DataToRead 1074030207

Devolva o número de bytes disponíveis para leitura. Este valor é igual à constante FIONREAD de Winsock 2.

OobDataRead 1074033415

Informação de retorno sobre dados fora de banda à espera de recebimento. Ao usar este código de controlo em sockets de fluxo, o valor de retorno indica o número de bytes disponíveis.

GetBroadcastAddress 1207959557

Devolva uma estrutura SOCKADDR que contenha o endereço de broadcast para a família de endereços do socket atual. O endereço retornado pode ser usado com o SendTo método. Este valor é igual à constante de Winsock 2 SIO_GET_BROADCAST_ADDRESS. Este valor pode ser usado apenas em soquetes do Protocolo de Datagramas de Utilizador (UDP).

AddressListQuery 1207959574

Devolva a lista de interfaces locais às quais o socket pode ligar. Este valor é igual à constante de Winsock 2 SIO_ADDRESS_LIST_QUERY.

QueryTargetPnpHandle 1207959576

Recupere a alavanca SOCKET do fornecedor subjacente. Este handle pode ser usado para receber notificações de eventos plug-and-play. Este valor é igual à constante Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE.

AsyncIO 2147772029

Ative a notificação quando os dados estão à espera de receção. Este valor é igual à constante FIOASYNC de Winsock 2.

NonBlockingIO 2147772030

Controlar o comportamento de bloqueio do soquete. Se o argumento especificado com este código de controlo for zero, o soquete é colocado em modo de bloqueio. Se o argumento for diferente de zero, o soquete é colocado em modo não bloqueante. Este valor é igual à constante FIONBIO de Winsock 2.

AssociateHandle 2281701377

Associe este soquete ao cabo especificado de uma interface companheira. Consulte o anexo específico do protocolo apropriado na referência ou documentação do Winsock 2 para a interface companheira específica para mais detalhes. Recomenda-se que o Modelo de Objeto Componente (COM) seja utilizado em vez deste IOCTL para descobrir e rastrear outras interfaces que possam ser suportadas por um socket. Este código de controlo está presente para compatibilidade retroativa com sistemas onde a COM não está disponível ou não pode ser usada por outra razão. Este valor é igual à constante de Winsock 2 SIO_ASSOCIATE_HANDLE.

MultipointLoopback 2281701385

Controlar se os dados multicast enviados pelo socket aparecem como dados recebidos na fila de receção dos sockets. Este valor é igual à constante Winsock 2 SIO_MULTIPOINT_LOOPBACK.

MulticastScope 2281701386

Controlar o número de vezes que um pacote multicast pode ser encaminhado por um router, também conhecido como Time to Live (TTL), ou contagem de saltos. Este valor é igual à constante de Winsock 2 SIO_MULTICAST_SCOPE.

SetQos 2281701387

Defina os atributos de Qualidade de Serviço (QOS) para o socket. O QOS define os requisitos de largura de banda para o socket. Este valor é igual à constante Winsock 2 SIO_SET_QOS.

SetGroupQos 2281701388

Defina os atributos de Qualidade de Serviço (QOS) para o grupo de sockets. Este valor é reservado para uso futuro e é igual à constante de SIO_SET_GROUP_QOS Winsock 2.

RoutingInterfaceChange 2281701397

Ative a receção de notificações quando a interface local usada para aceder a um endpoint remoto muda. Este valor é igual à constante Winsock 2 SIO_ROUTING_INTERFACE_CHANGE.

NamespaceChange 2281701401

Controla se o socket recebe notificações quando uma consulta ao namespace se torna inválida. Este código de controlo é suportado no Windows XP e nos sistemas operativos posteriores. Este valor é igual à constante Winsock 2 SIO_NSP_NOTIFY_CHANGE.

ReceiveAll 2550136833

Ative a receção de todos os pacotes IPv4 na rede. O socket deve ter a família InterNetworkde endereços , o tipo de socket deve ser Raw, e o tipo de protocolo deve ser IP. O utilizador atual deve pertencer ao grupo de Administradores no computador local, e o socket deve estar ligado a uma porta específica. Este valor é igual à constante Winsock 2 SIO_RCVALL.

ReceiveAllMulticast 2550136834

Ative a receção de todos os pacotes multicast IPv4 na rede. Estes são pacotes com endereços de destino no intervalo 224.0.0.0 a 239.255.255.255. O socket deve ter a família InterNetworkde endereços , o tipo de socket deve ser Raw, e o tipo de protocolo deve ser Udp. O utilizador atual deve pertencer ao grupo de Administradores no computador local, e o socket deve estar ligado a uma porta específica. Este valor é igual à constante de Winsock 2 SIO_RCVALL_MCAST.

ReceiveAllIgmpMulticast 2550136835

Ative a receção de todos os pacotes do Protocolo de Gestão de Grupo de Internet (IGMP) na rede. O socket deve ter a família InterNetworkde endereços , o tipo de socket deve ser Raw, e o tipo de protocolo deve ser Igmp. O utilizador atual deve pertencer ao grupo de Administradores no computador local, e o socket deve estar ligado a uma porta específica. Este valor é igual à constante Winsock 2 SIO_RCVALL_IGMPMCAST.

KeepAliveValues 2550136836

Controla o envio dos pacotes TCP keep-alive e o intervalo em que são enviados. Para informações adicionais, consulte RFC 1122 secção 4.2.3.6. Este valor é igual à constante de Winsock 2 SIO_KEEPALIVE_VALS.

AbsorbRouterAlert 2550136837

Este valor é igual à constante de Winsock 2 SIO_ABSORB_RTRALERT.

UnicastInterface 2550136838

Defina a interface usada para pacotes unicast de saída. Este valor é igual à constante Winsock 2 SIO_UCAST_IF.

LimitBroadcasts 2550136839

Este valor é igual à constante de Winsock 2 SIO_LIMIT_BROADCASTS.

BindToInterface 2550136840

Vincule o soquete a um índice de interface especificado. Este valor é igual à constante de Winsock 2 SIO_INDEX_BIND.

MulticastInterface 2550136841

Defina a interface usada para pacotes multicast de saída. A interface é identificada pelo seu índice. Este valor é igual à constante Winsock 2 SIO_INDEX_MCASTIF.

AddMulticastGroupOnInterface 2550136842

Junte-se a um grupo multicast usando uma interface identificada pelo seu índice. Este valor é igual à constante de Winsock 2 SIO_INDEX_ADD_MCAST.

DeleteMulticastGroupFromInterface 2550136843

Remova o soquete de um grupo multicast. Este valor é igual à constante de Winsock 2 SIO_INDEX_ADD_MCAST.

GetExtensionFunctionPointer 3355443206

Obtenha funções específicas do fornecedor que não façam parte da especificação Winsock. As funções são especificadas usando o seu GUID atribuído pelo fornecedor. Este valor é igual à constante de Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER.

GetQos 3355443207

Recuperar a estrutura de QoS associada ao soquete. Este valor é igual à constante Winsock 2 SIO_GET_QOS.

GetGroupQos 3355443208

Devolve os atributos de Qualidade de Serviço (QOS) para o grupo de sockets. Este valor é reservado para uso futuro e é igual à constante de Winsock 2 SIO_GET_GROUP_QOS.

TranslateHandle 3355443213

Devolve um handle para o socket que seja válido no contexto de uma interface companion. Este valor é igual à constante Winsock 2 SIO_TRANSLATE_HANDLE.

RoutingInterfaceQuery 3355443220

Devolve os endereços de interface que podem ser usados para se ligar ao endereço remoto especificado. Este valor é igual à constante Winsock 2 SIO_ROUTING_INTERFACE_QUERY.

AddressListSort 3355443225

Ordena a estrutura devolvida pelo AddressListQuery campo e adiciona a informação do ID do âmbito para endereços IPv6. Este código de controlo é suportado no Windows XP e nos sistemas operativos posteriores. Este valor é igual à constante de Winsock 2 SIO_ADDRESS_LIST_SORT.

Exemplos

O seguinte exemplo de código chama o IOControl(IOControlCode, Byte[], Byte[]) método com um valor de parâmetro DataToRead e compara o resultado com o acesso à propriedade.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;
}

Observações

A IOControlCode enumeração fornece valores nomeados para especificar os modos operacionais dos soquetes. Estes valores são os códigos de controlo passados para a função Windows Sockets 2 (Winsock 2) WSAIoctl.

Aplica-se a