Socket.IOControl Socket.IOControl Socket.IOControl Socket.IOControl Method

Definition

Legt Betriebsmodi auf niedriger Ebene für den Socket fest.Sets low-level operating modes for the Socket.

Überlädt

IOControl(IOControlCode, Byte[], Byte[]) IOControl(IOControlCode, Byte[], Byte[]) IOControl(IOControlCode, Byte[], Byte[])

Legt mithilfe der Socket-Enumeration zum Angeben von Steuerungscodes Betriebsmodi niedriger Ebene für den IOControlCode fest.Sets low-level operating modes for the Socket using the IOControlCode enumeration to specify control codes.

IOControl(Int32, Byte[], Byte[]) IOControl(Int32, Byte[], Byte[]) IOControl(Int32, Byte[], Byte[]) IOControl(Int32, Byte[], Byte[])

Legt mit numerischen Steuerungscodes die Betriebsmodi niedriger Ebene für den Socket fest.Sets low-level operating modes for the Socket using numerical control codes.

IOControl(IOControlCode, Byte[], Byte[]) IOControl(IOControlCode, Byte[], Byte[]) IOControl(IOControlCode, Byte[], Byte[])

Legt mithilfe der Socket-Enumeration zum Angeben von Steuerungscodes Betriebsmodi niedriger Ebene für den IOControlCode fest.Sets low-level operating modes for the Socket using the IOControlCode enumeration to specify control codes.

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

Parameter

ioControlCode
IOControlCode IOControlCode IOControlCode IOControlCode

Ein IOControlCode-Wert, der den Steuerungscode des auszuführenden Vorgangs angibt.A IOControlCode value that specifies the control code of the operation to perform.

optionInValue
Byte[]

Ein Array vom Typ Byte, das die für den Vorgang erforderlichen Eingabedaten enthält.An array of type Byte that contains the input data required by the operation.

optionOutValue
Byte[]

Ein Array vom Typ Byte, das die von dem Vorgang zurückgegebenen Ausgabedaten enthält.An array of type Byte that contains the output data returned by the operation.

Gibt zurück

Die Anzahl der Bytes im optionOutValue-Parameter.The number of bytes in the optionOutValue parameter.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket.

Es wurde versucht, den blockierenden Modus ohne Verwendung der Blocking-Eigenschaft zu ändern.An attempt was made to change the blocking mode without using the Blocking property.

Beispiele

Im folgenden Codebeispiel wird, vergleicht die Ergebnisse des Aufrufs IOControl mit DataToRead und Available Eigenschaft.The following code example compares the results of calling IOControl with DataToRead and the Available property.

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;
}

Hinweise

Diese Methode bietet auf niedriger Ebene Zugriff auf das Betriebssystem Socket zugrunde liegende der aktuellen Instanz von der Socket Klasse.This method provides low-level access to the operating system Socket underlying the current instance of the Socket class. Weitere Informationen finden Sie unter den WSAIoctl Dokumentation.For more, see the WSAIoctl documentation.

Hinweis

Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Nachdem Sie diesen Code abgerufen haben, finden Sie in der Windows Sockets-Version 2-API-Fehlercode Dokumentation für eine ausführliche Beschreibung des Fehlers.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.For more information, see Network Tracing in the .NET Framework.

Sicherheit

SecurityPermission
zum Ausführen von nicht verwalteten Codes.to execute unmanaged code. Zugeordnete Enumeration: UnmanagedCodeAssociated enumeration: UnmanagedCode.

IOControl(Int32, Byte[], Byte[]) IOControl(Int32, Byte[], Byte[]) IOControl(Int32, Byte[], Byte[]) IOControl(Int32, Byte[], Byte[])

Legt mit numerischen Steuerungscodes die Betriebsmodi niedriger Ebene für den Socket fest.Sets low-level operating modes for the Socket using numerical control codes.

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

Parameter

ioControlCode
Int32 Int32 Int32 Int32

Ein Int32-Wert, der den Steuerungscode des auszuführenden Vorgangs angibt.An Int32 value that specifies the control code of the operation to perform.

optionInValue
Byte[]

Ein Byte-Array, das die für den Vorgang erforderlichen Eingabedaten enthält.A Byte array that contains the input data required by the operation.

optionOutValue
Byte[]

Ein Byte-Array, das die durch den Vorgang zurückgegebenen Ausgabedaten enthält.A Byte array that contains the output data returned by the operation.

Gibt zurück

Die Anzahl der Bytes im optionOutValue-Parameter.The number of bytes in the optionOutValue parameter.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket.

Es wurde versucht, den blockierenden Modus ohne Verwendung der Blocking-Eigenschaft zu ändern.An attempt was made to change the blocking mode without using the Blocking property.

Ein Aufrufer in der Aufrufliste verfügt nicht über die erforderlichen Berechtigungen.A caller in the call stack does not have the required permissions.

Beispiele

Im folgenden Codebeispiel wird vergleicht die Ergebnisse der FIONREAD und die Eigenschaft zur Verfügung.The following code example compares the results of FIONREAD and the Available property.

// FIONREAD is also available as the "Available" property.
const int FIONREAD = 0x4004667F;

void DisplayPendingByteCount( Socket^ s )
{
   array<Byte>^ outValue = BitConverter::GetBytes( 0 );
   
   // Check how many bytes have been received.
   s->IOControl( FIONREAD, nullptr, outValue );

   UInt32 bytesAvailable = BitConverter::ToUInt32( outValue, 0 );
   Console::WriteLine( "server has {0} bytes pending. Available property says {1}.",
      bytesAvailable, s->Available );

   return;
}
 // 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;
 }

Hinweise

Die IOControl -Methode bietet auf niedriger Ebene Zugriff auf das Betriebssystem Socket zugrunde liegende der aktuellen Instanz von der Socket Klasse.The IOControl method provides low-level access to the operating system Socket underlying the current instance of the Socket class. Weitere Informationen finden Sie unter den WSAIoctl Dokumentation.For more information, see the WSAIoctl documentation.

Hinweis

Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Nachdem Sie diesen Code abgerufen haben, finden Sie in der Windows Sockets-Version 2-API-Fehlercode Dokumentation für eine ausführliche Beschreibung des Fehlers.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.For more information, see Network Tracing in the .NET Framework.

Sicherheit

SecurityPermission
zum Ausführen von nicht verwalteten Codes.to execute unmanaged code. Zugeordnete Enumeration: UnmanagedCodeAssociated enumeration: UnmanagedCode.

Gilt für: