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 com suporte pelo método IOControl(Int32, Byte[], Byte[]).
public enum class IOControlCode
public enum IOControlCode
type IOControlCode =
Public Enum IOControlCode
- Herança
Campos
AbsorbRouterAlert | 2550136837 | Esse valor é igual à constante Winsock 2 SIO_ABSORB_RTRALERT. |
AddMulticastGroupOnInterface | 2550136842 | Ingressar em um grupo de multicast usando uma interface identificada por seu índice. Esse valor é igual à constante Winsock 2 SIO_INDEX_ADD_MCAST. |
AddressListChange | 671088663 | Habilita receber notificação quando a lista de interfaces locais para a família de protocolo do soquete se altera. Esse valor é igual à constante Winsock 2 SIO_ADDRESS_LIST_CHANGE. |
AddressListQuery | 1207959574 | Retorna a lista de interfaces locais que pode se associar ao soquete. Esse valor é igual à constante Winsock 2 SIO_ADDRESS_LIST_QUERY. |
AddressListSort | 3355443225 | Classifica a estrutura retornada pelo campo AddressListQuery e adicionar informações de identificação de escopo para endereços IPv6. Este código de controle tem suporte nos sistemas operacionais Windows XP e posteriores. Esse valor é igual à constante Winsock 2 SIO_ADDRESS_LIST_SORT. |
AssociateHandle | 2281701377 | Associe esse soquete com o identificador especificado de uma interface de assistente. 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 modelo de objeto de componente (COM) seja usado em vez deste IOCTL, para descobrir e controlar outras interfaces que possam ter suporte por um soquete. Esse código de controle está presente para fins de compatibilidade 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. |
AsyncIO | 2147772029 | Habilitar a notificação para quando os dados estão aguardando para serem recebidos. Esse valor é igual à constante Winsock 2 FIOASYNC. |
BindToInterface | 2550136840 | Associar o soquete à um índice de interface especificada. Esse valor é igual à constante Winsock 2 SIO_INDEX_BIND. |
DataToRead | 1074030207 | Retorna o número de bytes disponível para leitura. Esse valor é igual à constante Winsock 2 FIONREAD. |
DeleteMulticastGroupFromInterface | 2550136843 | Remova o soquete de um grupo de multicast. Esse valor é igual à constante Winsock 2 SIO_INDEX_ADD_MCAST. |
EnableCircularQueuing | 671088642 | Substitui o datagrama na fila mais antigo com um datagrama de entrada quando as filas de mensagens de entrada estão cheias. Esse valor é igual à constante Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING. |
Flush | 671088644 | Descarta o conteúdo da fila de envio. Esse valor é igual à constante Winsock 2 SIO_FLUSH. |
GetBroadcastAddress | 1207959557 | Retorna uma estrutura SOCKADDR que contém o endereço de difusão da família de endereços de soquete atual. O endereço retornado pode ser usado com o método SendTo. Esse valor é igual à constante Winsock 2 SIO_GET_BROADCAST_ADDRESS. Esse valor pode ser usado apenas em soquetes do protocolo UDP. |
GetExtensionFunctionPointer | 3355443206 | Obter funções específicas do provedor que não fazem parte da especificação do Winsock. Funções são especificadas usando o GUID atribuído pelo provedor. Esse valor é igual à constante Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER. |
GetGroupQos | 3355443208 | Retorna os atributos de qualidade de serviço (QoS) para o grupo de soquete. Este valor é reservado para uso futuro e é igual à constante Winsock 2 SIO_GET_GROUP_QOS. |
GetQos | 3355443207 | Recupere a estrutura QoS associada ao soquete. Esse valor é igual à constante Winsock 2 SIO_GET_QOS. |
KeepAliveValues | 2550136836 | Controla envio de pacotes keep-alive do TCP e o intervalo em que eles são enviados. Para obter mais informações, consulte RFC 1122 seção 4.2.3.6. Esse valor é igual à constante Winsock 2 SIO_KEEPALIVE_VALS. |
LimitBroadcasts | 2550136839 | Esse valor é igual à constante Winsock 2 SIO_LIMIT_BROADCASTS. |
MulticastInterface | 2550136841 | Define a interface usada para pacotes multicast de saída. A interface é identificada por seu índice. Esse valor é igual à constante Winsock 2 SIO_INDEX_MCASTIF. |
MulticastScope | 2281701386 | Controla o número de vezes que um pacote de multicast pode ser encaminhado por um roteador, também conhecido como vida útil (TTL) ou a contagem de saltos. Esse valor é igual à constante Winsock 2 SIO_MULTICAST_SCOPE. |
MultipointLoopback | 2281701385 | Controla se dados de multicast enviados por soquete aparecem como dados de entrada nos soquetes fila de recebimento. Esse valor é igual à constante Winsock 2 SIO_MULTIPOINT_LOOPBACK. |
NamespaceChange | 2281701401 | Controla se o soquete recebe notificação quando uma consulta de namespace se torna inválida. Este código de controle tem suporte nos sistemas operacionais Windows XP e posteriores. Esse valor é igual à constante Winsock 2 SIO_NSP_NOTIFY_CHANGE. |
NonBlockingIO | 2147772030 | Controlar o comportamento de bloqueio do soquete. Se o argumento especificado com esse código de controle for zero, o soquete é colocado no modo de bloqueio. Se o argumento for diferente de zero, o soquete será colocado no modo sem bloqueio. Esse valor é igual à constante Winsock 2 FIONBIO. |
OobDataRead | 1074033415 | Retorna informações sobre dados out-of-band 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. |
QueryTargetPnpHandle | 1207959576 | Recupera o identificador de SOQUETE do provedor subjacente. Esse identificador pode ser usado para receber uma notificação de evento de plug-and-play. Esse valor é igual à constante Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE. |
ReceiveAll | 2550136833 | Habilita o recebimento de todos os pacotes IPv4 na rede. O soquete deve ter a família de endereço 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 ser associado a uma porta específica. Esse valor é igual à constante Winsock 2 SIO_RCVALL. |
ReceiveAllIgmpMulticast | 2550136835 | Habilita o recebimento de todos os pacotes de Internet Group Management Protocol (IGMP) na rede. O soquete deve ter a família de endereço 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 ser associado a uma porta específica. Esse valor é igual à constante Winsock 2 SIO_RCVALL_IGMPMCAST. |
ReceiveAllMulticast | 2550136834 | Habilita o recebimento de todos os pacotes IPv4 multicast na rede. Estes são os pacotes com endereços de destino no intervalo de 224.0.0.0 a 239.255.255.255. O soquete deve ter a família de endereço 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 ser associado a uma porta específica. Esse valor é igual à constante Winsock 2 SIO_RCVALL_MCAST. |
RoutingInterfaceChange | 2281701397 | Habilita o recebimento de notificações quando a interface local usada para acessar um alterações de ponto de extremidade remoto. Esse valor é igual à constante Winsock 2 SIO_ROUTING_INTERFACE_CHANGE. |
RoutingInterfaceQuery | 3355443220 | Retorna 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. |
SetGroupQos | 2281701388 | Define os atributos de qualidade de serviço (QoS) para o grupo de soquete. Esse valor é reservado para uso futuro e é igual à constante Winsock 2 SIO_SET_GROUP_QOS. |
SetQos | 2281701387 | Define os atributos de qualidade de serviço (QoS) para o soquete. QoS define os requisitos de largura de banda para o soquete. Esse valor é igual à constante Winsock 2 SIO_SET_QOS. |
TranslateHandle | 3355443213 | Retorna um identificador para o soquete que é válido no contexto de uma interface de assistente. Esse valor é igual à constante Winsock 2 SIO_TRANSLATE_HANDLE. |
UnicastInterface | 2550136838 | Defina a interface usada para pacotes unicast de saída. Esse valor é igual à constante Winsock 2 SIO_UCAST_IF. |
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
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;
}
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