Socket.IOControl Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit les modes d’exploitation de bas niveau pour le Socket.
Surcharges
| Nom | Description |
|---|---|
| IOControl(Int32, Byte[], Byte[]) |
Définit les modes d’exploitation de bas niveau pour l’utilisation Socket des codes de contrôle numérique. |
| IOControl(IOControlCode, Byte[], Byte[]) |
Définit les modes d’exploitation de bas niveau pour l’utilisation de l’énumération SocketIOControlCode pour spécifier des codes de contrôle. |
IOControl(Int32, Byte[], Byte[])
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Définit les modes d’exploitation de bas niveau pour l’utilisation Socket des codes de contrôle numérique.
public:
int IOControl(int ioControlCode, cli::array <System::Byte> ^ optionInValue, cli::array <System::Byte> ^ optionOutValue);
public int IOControl(int ioControlCode, byte[]? optionInValue, 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
Paramètres
Retours
Nombre d’octets dans le optionOutValue paramètre.
Exceptions
Une erreur s’est produite lors de la tentative d’accès au socket.
Il Socket a été fermé.
Une tentative a été effectuée pour modifier le mode de blocage sans utiliser la Blocking propriété.
Un appelant dans la pile des appels n’a pas les autorisations requises.
Exemples
L’exemple de code suivant compare les résultats de FIONREAD et de la propriété Available.
// 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;
}
Remarques
La IOControl méthode fournit un accès de bas niveau au système Socket d’exploitation sous-jacent à l’instance actuelle de la Socket classe. Pour plus d’informations, consultez la documentation WSAIoctl .
Note
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois que vous avez obtenu ce code, reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
S’applique à
IOControl(IOControlCode, Byte[], Byte[])
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Définit les modes d’exploitation de bas niveau pour l’utilisation de l’énumération SocketIOControlCode pour spécifier des codes de contrôle.
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);
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
Paramètres
- ioControlCode
- IOControlCode
Valeur IOControlCode qui spécifie le code de contrôle de l’opération à effectuer.
- optionInValue
- Byte[]
Tableau de type Byte qui contient les données d’entrée requises par l’opération.
- optionOutValue
- Byte[]
Tableau de type Byte qui contient les données de sortie retournées par l’opération.
Retours
Nombre d’octets dans le optionOutValue paramètre.
Exceptions
Une erreur s’est produite lors de la tentative d’accès au socket.
Il Socket a été fermé.
Une tentative a été effectuée pour modifier le mode de blocage sans utiliser la Blocking propriété.
Exemples
L’exemple de code suivant compare les résultats de l’appel IOControl et DataToRead de la Available propriété.
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;
}
Remarques
Cette méthode fournit un accès de bas niveau au système Socket d’exploitation sous-jacent à l’instance actuelle de la Socket classe. Pour plus d’informations, consultez la documentation WSAIoctl .
Note
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois que vous avez obtenu ce code, reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.