Socket.IOControl Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger driftlägen på Socketlåg nivå för .
Överlagringar
| Name | Description |
|---|---|
| IOControl(IOControlCode, Byte[], Byte[]) |
Anger driftlägen på Socket låg nivå för att använda IOControlCode uppräkningen för att ange kontrollkoder. |
| IOControl(Int32, Byte[], Byte[]) |
Anger driftlägen på låg nivå för användning av Socket numeriska kontrollkoder. |
IOControl(IOControlCode, Byte[], Byte[])
Anger driftlägen på Socket låg nivå för att använda IOControlCode uppräkningen för att ange kontrollkoder.
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
Parametrar
- ioControlCode
- IOControlCode
Ett IOControlCode värde som anger kontrollkoden för den åtgärd som ska utföras.
Returer
Antalet byte i parametern optionOutValue .
Undantag
Ett fel uppstod vid försök att komma åt socketen.
Har Socket stängts.
Ett försök gjordes att ändra blockeringsläget utan att använda egenskapen Blocking .
Exempel
I följande kodexempel jämförs resultatet av anrop IOControl med DataToRead och egenskapen 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;
}
Kommentarer
Den här metoden ger åtkomst på låg nivå till operativsystemet Socket som ligger bakom den aktuella instansen Socket av klassen. Mer information finns i WSAIoctl-dokumentationen .
Note
Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet.
Note
Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.
Gäller för
IOControl(Int32, Byte[], Byte[])
Anger driftlägen på låg nivå för användning av Socket numeriska kontrollkoder.
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
Parametrar
Returer
Antalet byte i parametern optionOutValue .
Undantag
Ett fel uppstod vid försök att komma åt socketen.
Har Socket stängts.
Ett försök gjordes att ändra blockeringsläget utan att använda egenskapen Blocking .
En anropare i samtalsstacken har inte de behörigheter som krävs.
Exempel
I följande kodexempel jämförs resultatet av FIONREAD och egenskapen Tillgänglig.
// 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;
}
Kommentarer
Metoden IOControl ger åtkomst på låg nivå till det operativsystem Socket som ligger bakom den aktuella instansen Socket av klassen. Mer information finns i WSAIoctl-dokumentationen .
Note
Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden. När du har fått den här koden läser du felkoden Windows Sockets version 2 för en detaljerad beskrivning av felet.
Note
Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.