Socket.IOControl Método
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.
Define modos de funcionamento de baixo nível para o Socket.
Sobrecargas
| Name | Description |
|---|---|
| IOControl(IOControlCode, Byte[], Byte[]) |
Define modos de operação de baixo nível para o Socket uso da IOControlCode enumeração para especificar códigos de controlo. |
| IOControl(Int32, Byte[], Byte[]) |
Define modos de funcionamento de baixo nível para o Socket uso de códigos numéricos de controlo. |
IOControl(IOControlCode, Byte[], Byte[])
Define modos de operação de baixo nível para o Socket uso da IOControlCode enumeração para especificar códigos de controlo.
public:
int IOControl(System::Net::Sockets::IOControlCode ioControlCode, cli::array <System::Byte> ^ optionInValue, cli::array <System::Byte> ^ optionOutValue);
public int IOControl(System.Net.Sockets.IOControlCode ioControlCode, byte[] optionInValue, byte[] optionOutValue);
member this.IOControl : System.Net.Sockets.IOControlCode * byte[] * byte[] -> int
Public Function IOControl (ioControlCode As IOControlCode, optionInValue As Byte(), optionOutValue As Byte()) As Integer
Parâmetros
- ioControlCode
- IOControlCode
Um valor que especifica IOControlCode o código de controlo da operação a realizar.
Devoluções
O número de bytes no optionOutValue parâmetro.
Exceções
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Foi feita uma tentativa de alterar o modo de bloqueio sem usar a Blocking propriedade.
Exemplos
O seguinte exemplo de código compara os resultados de chamar IOControl com DataToRead e a Available propriedade.
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
Este método fornece acesso de baixo nível ao sistema Socket operativo subjacente à instância atual da Socket classe. Para mais informações, consulte a documentação do WSAIoctl .
Note
Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter este código, consulte a documentação do código de erro da API Windows versão 2 dos Sockets para uma descrição detalhada do erro.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.
Aplica-se a
IOControl(Int32, Byte[], Byte[])
Define modos de funcionamento de baixo nível para o Socket uso de códigos numéricos de controlo.
public:
int IOControl(int ioControlCode, cli::array <System::Byte> ^ optionInValue, cli::array <System::Byte> ^ optionOutValue);
public int IOControl(int ioControlCode, byte[] optionInValue, byte[] optionOutValue);
member this.IOControl : int * byte[] * byte[] -> int
Public Function IOControl (ioControlCode As Integer, optionInValue As Byte(), optionOutValue As Byte()) As Integer
Parâmetros
Devoluções
O número de bytes no optionOutValue parâmetro.
Exceções
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Foi feita uma tentativa de alterar o modo de bloqueio sem usar a Blocking propriedade.
Um chamador na pilha de chamadas não tem as permissões necessárias.
Exemplos
O seguinte exemplo de código compara os resultados do FIONREAD e da propriedade Disponível.
// FIONREAD is also available as the "Available" property.
public const int FIONREAD = 0x4004667F;
static void DisplayPendingByteCount(Socket s)
{
byte[] outValue = BitConverter.GetBytes(0);
// Check how many bytes have been received.
s.IOControl(FIONREAD, null, outValue);
uint bytesAvailable = BitConverter.ToUInt32(outValue, 0);
Console.WriteLine("server has {0} bytes pending. Available property says {1}.",
bytesAvailable, s.Available);
return;
}
Observações
O IOControl método fornece acesso de baixo nível ao sistema Socket operativo subjacente à instância atual da Socket classe. Para mais informações, consulte a documentação do WSAIoctl .
Note
Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter este código, consulte a documentação do código de erro da API Windows versão 2 dos Sockets para uma descrição detalhada do erro.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.