IOControlCode Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica os códigos de controle de E/S compatíveis com o método IOControl(Int32, Byte[], Byte[]).
public enum class IOControlCode
public enum IOControlCode
type IOControlCode =
Public Enum IOControlCode
- Herança
Campos
| Nome | Valor | Description |
|---|---|---|
| EnableCircularQueuing | 671088642 | Substitua o datagrama enfileirado mais antigo por um datagrama de entrada quando as filas de mensagens de entrada estiverem cheias. Esse valor é igual à constante winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING. |
| Flush | 671088644 | Descarte o conteúdo da fila de envio. Esse valor é igual à constante winsock 2 SIO_FLUSH. |
| AddressListChange | 671088663 | Habilite a notificação de recebimento quando a lista de interfaces locais da família de protocolos do soquete for alterada. Esse valor é igual à constante winsock 2 SIO_ADDRESS_LIST_CHANGE. |
| DataToRead | 1074030207 | Retorne o número de bytes disponíveis para leitura. Esse valor é igual à constante Winsock 2 FIONREAD. |
| OobDataRead | 1074033415 | Retorne informações sobre dados fora de banda aguardando para serem recebidos. Ao usar esse código de controle em soquetes de fluxo, o valor retornado indica o número de bytes disponíveis. |
| GetBroadcastAddress | 1207959557 | Retorne uma estrutura SOCKADDR que contém o endereço de difusão para a família de endereços do soquete atual. O endereço retornado pode ser usado com o SendTo método. Esse valor é igual à constante de SIO_GET_BROADCAST_ADDRESS Winsock 2. Esse valor pode ser usado somente em soquetes UDP (User Datagram Protocol). |
| AddressListQuery | 1207959574 | Retorne a lista de interfaces locais às quais o soquete pode ser associado. Esse valor é igual à constante winsock 2 SIO_ADDRESS_LIST_QUERY. |
| QueryTargetPnpHandle | 1207959576 | Recupere o identificador SOCKET do provedor subjacente. Esse identificador pode ser usado para receber uma notificação de evento plug-and-play. Esse valor é igual à constante winsock 2 SIO_QUERY_TARGET_PNP_HANDLE. |
| AsyncIO | 2147772029 | Habilite a notificação para quando os dados estiverem aguardando para serem recebidos. Esse valor é igual à constante FIOASYNC winsock 2. |
| NonBlockingIO | 2147772030 | Controlar o comportamento de bloqueio do soquete. Se o argumento especificado com esse código de controle for zero, o soquete será colocado no modo de bloqueio. Se o argumento não for zero, o soquete será colocado no modo sem bloqueio. Esse valor é igual à constante Winsock 2 FIONBIO. |
| AssociateHandle | 2281701377 | Associe esse soquete ao identificador especificado de uma interface complementar. Consulte o anexo específico do protocolo apropriado na referência ou documentação do Winsock 2 para a interface complementar específica para obter detalhes adicionais. É recomendável que o COM (Component Object Model) seja usado em vez desse IOCTL para descobrir e rastrear outras interfaces que possam ter suporte por um soquete. Esse código de controle está presente para compatibilidade com versões anteriores com sistemas em que COM não está disponível ou não pode ser usado por algum outro motivo. Esse valor é igual à constante winsock 2 SIO_ASSOCIATE_HANDLE. |
| MultipointLoopback | 2281701385 | Controlar se os dados multicast enviados pelo soquete são exibidos como dados de entrada na fila de recebimento de soquetes. Esse valor é igual à constante winsock 2 SIO_MULTIPOINT_LOOPBACK. |
| MulticastScope | 2281701386 | Controle o número de vezes que um pacote multicast pode ser encaminhado por um roteador, também conhecido como TTL (Time to Live) ou contagem de saltos. Esse valor é igual à constante winsock 2 SIO_MULTICAST_SCOPE. |
| SetQos | 2281701387 | Defina os atributos de Qualidade do Serviço (QOS) para o soquete. O QOS define os requisitos de largura de banda para o soquete. Esse valor é igual à constante winsock 2 SIO_SET_QOS. |
| SetGroupQos | 2281701388 | Defina os atributos de Qualidade de Serviço (QOS) para o grupo de soquetes. Esse valor é reservado para uso futuro e é igual à constante winsock 2 SIO_SET_GROUP_QOS. |
| RoutingInterfaceChange | 2281701397 | Habilite a notificação de recebimento quando a interface local usada para acessar um ponto de extremidade remoto for alterada. Esse valor é igual à constante winsock 2 SIO_ROUTING_INTERFACE_CHANGE. |
| NamespaceChange | 2281701401 | Controlar se o soquete recebe notificação quando uma consulta de namespace se torna inválida. Esse código de controle tem suporte no Windows XP e em sistemas operacionais posteriores. Esse valor é igual à constante winsock 2 SIO_NSP_NOTIFY_CHANGE. |
| ReceiveAll | 2550136833 | Habilite o recebimento de todos os pacotes IPv4 na rede. O soquete deve ter família de endereços InterNetwork, o tipo de soquete deve ser Rawe o tipo de protocolo deve ser IP. O usuário atual deve pertencer ao grupo Administradores no computador local e o soquete deve estar associado a uma porta específica. Esse valor é igual à constante de SIO_RCVALL Winsock 2. |
| ReceiveAllMulticast | 2550136834 | Habilite o recebimento de todos os pacotes IPv4 multicast na rede. São pacotes com endereços de destino no intervalo de 224.0.0.0 a 239.255.255.255.255. O soquete deve ter família de endereços InterNetwork, o tipo de soquete deve ser Rawe o tipo de protocolo deve ser Udp. O usuário atual deve pertencer ao grupo Administradores no computador local e o soquete deve estar associado a uma porta específica. Esse valor é igual à constante de SIO_RCVALL_MCAST Winsock 2. |
| ReceiveAllIgmpMulticast | 2550136835 | Habilite o recebimento de todos os pacotes IGMP (Internet Group Management Protocol) na rede. O soquete deve ter família de endereços InterNetwork, o tipo de soquete deve ser Rawe o tipo de protocolo deve ser Igmp. O usuário atual deve pertencer ao grupo Administradores no computador local e o soquete deve estar associado a uma porta específica. Esse valor é igual à constante winsock 2 SIO_RCVALL_IGMPMCAST. |
| KeepAliveValues | 2550136836 | Controlar o envio de pacotes de keep-alive TCP e o intervalo no qual eles são enviados. Para obter informações adicionais, consulte a seção RFC 1122 4.2.3.6. Esse valor é igual à constante winsock 2 SIO_KEEPALIVE_VALS. |
| AbsorbRouterAlert | 2550136837 | Esse valor é igual à constante winsock 2 SIO_ABSORB_RTRALERT. |
| UnicastInterface | 2550136838 | Defina a interface usada para pacotes unicast de saída. Esse valor é igual à constante winsock 2 SIO_UCAST_IF. |
| LimitBroadcasts | 2550136839 | Esse valor é igual à constante de SIO_LIMIT_BROADCASTS Winsock 2. |
| BindToInterface | 2550136840 | Associe o soquete a um índice de interface especificado. Esse valor é igual à constante winsock 2 SIO_INDEX_BIND. |
| MulticastInterface | 2550136841 | Defina a interface usada para pacotes multicast de saída. A interface é identificada pelo índice. Esse valor é igual à constante de SIO_INDEX_MCASTIF Winsock 2. |
| AddMulticastGroupOnInterface | 2550136842 | Ingresse em um grupo multicast usando uma interface identificada por seu índice. Esse valor é igual à constante winsock 2 SIO_INDEX_ADD_MCAST. |
| DeleteMulticastGroupFromInterface | 2550136843 | Remova o soquete de um grupo multicast. Esse valor é igual à constante winsock 2 SIO_INDEX_ADD_MCAST. |
| GetExtensionFunctionPointer | 3355443206 | Obtenha funções específicas do provedor que não fazem parte da especificação winsock. As funções são especificadas usando o GUID atribuído pelo provedor. Esse valor é igual à constante winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER. |
| GetQos | 3355443207 | Recupere a estrutura QOS associada ao soquete. Esse valor é igual à constante winsock 2 SIO_GET_QOS. |
| GetGroupQos | 3355443208 | Retorne os atributos de Qualidade de Serviço (QOS) para o grupo de soquetes. Esse valor é reservado para uso futuro e é igual à constante de SIO_GET_GROUP_QOS Winsock 2. |
| TranslateHandle | 3355443213 | Retorne um identificador para o soquete válido no contexto de uma interface complementar. Esse valor é igual à constante winsock 2 SIO_TRANSLATE_HANDLE. |
| RoutingInterfaceQuery | 3355443220 | Retorne os endereços de interface que podem ser usados para se conectar ao endereço remoto especificado. Esse valor é igual à constante winsock 2 SIO_ROUTING_INTERFACE_QUERY. |
| AddressListSort | 3355443225 | Classifique a estrutura retornada pelo AddressListQuery campo e adicione informações de ID de escopo para endereços IPv6. Esse código de controle tem suporte no Windows XP e em sistemas operacionais posteriores. Esse valor é igual à constante de SIO_ADDRESS_LIST_SORT Winsock 2. |
Exemplos
O exemplo de código a seguir 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;
}
Comentários
A IOControlCode enumeração fornece valores nomeados para especificar modos operacionais de soquete. Esses valores são os códigos de controle passados para a função Windows Sockets 2 (Winsock 2 WSAIoctl ).