IOControlCode Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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.