Partager via


AnonymousPipeServerStream Constructeurs

Définition

Initialise une nouvelle instance de la classe AnonymousPipeServerStream.

Surcharges

AnonymousPipeServerStream()

Initialise une nouvelle instance de la classe AnonymousPipeServerStream.

AnonymousPipeServerStream(PipeDirection)

Initialise une nouvelle instance de la classe AnonymousPipeServerStream avec le sens du canal spécifié.

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Initialise une nouvelle instance de la classe AnonymousPipeServerStream avec le sens du canal et le mode d’héritage spécifiés.

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Initialise une nouvelle instance de la classe AnonymousPipeServerStream à partir des handles de canal spécifiés.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Initialise une nouvelle instance de la classe AnonymousPipeServerStream avec le sens du canal, le mode d’héritage et la taille de la mémoire tampon spécifiés.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Initialise une nouvelle instance de la classe AnonymousPipeServerStream avec le sens du canal, le mode d’héritage, la taille de la mémoire tampon et la sécurité de canal spécifiés.

AnonymousPipeServerStream()

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Initialise une nouvelle instance de la classe AnonymousPipeServerStream.

public:
 AnonymousPipeServerStream();
public AnonymousPipeServerStream ();
Public Sub New ()

Remarques

Pour AnonymousPipeServerStream les constructeurs sans PipeDirection paramètre, la direction par défaut est Out. Une PipeDirection valeur de InOut n’est pas prise en charge, car les canaux anonymes sont définis pour être unidirectionnel.

Ce constructeur crée un AnonymousPipeServerStream objet qui a la taille de mémoire tampon par défaut, aucune sécurité de canal et une HandleInheritability valeur de None.

S’applique à

AnonymousPipeServerStream(PipeDirection)

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Initialise une nouvelle instance de la classe AnonymousPipeServerStream avec le sens du canal spécifié.

public:
 AnonymousPipeServerStream(System::IO::Pipes::PipeDirection direction);
public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction);
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection -> System.IO.Pipes.AnonymousPipeServerStream
Public Sub New (direction As PipeDirection)

Paramètres

direction
PipeDirection

L'une des valeurs d'énumération qui détermine le sens du canal.

Les canaux anonymes ne pouvant être que dans un sens, direction ne peut pas avoir la valeur InOut.

Exceptions

direction a la valeur InOut.

Remarques

Une PipeDirection valeur de InOut n’est pas prise en charge, car les canaux anonymes sont définis pour être unidirectionnel.

Ce constructeur crée un AnonymousPipeServerStream objet qui a la taille de mémoire tampon par défaut, aucune sécurité de canal et une HandleInheritability valeur de None.

S’applique à

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Initialise une nouvelle instance de la classe AnonymousPipeServerStream avec le sens du canal et le mode d’héritage spécifiés.

public:
 AnonymousPipeServerStream(System::IO::Pipes::PipeDirection direction, System::IO::HandleInheritability inheritability);
public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, System.IO.HandleInheritability inheritability);
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection * System.IO.HandleInheritability -> System.IO.Pipes.AnonymousPipeServerStream
Public Sub New (direction As PipeDirection, inheritability As HandleInheritability)

Paramètres

direction
PipeDirection

L'une des valeurs d'énumération qui détermine le sens du canal.

Les canaux anonymes ne pouvant être que dans un sens, direction ne peut pas avoir la valeur InOut.

inheritability
HandleInheritability

L'une des valeurs d'énumération qui détermine si des processus enfants peuvent hériter du handle sous-jacent. Doit avoir la valeur None ou Inheritable.

Exceptions

inheritability n’a pas la valeur None ou Inheritable.

direction a la valeur InOut.

Exemples

L’exemple suivant illustre une méthode permettant d’envoyer une chaîne d’un processus parent à un processus enfant à l’aide de canaux anonymes. Dans cet exemple, un AnonymousPipeServerStream objet est créé dans un processus parent avec la PipeDirection valeur Out.

//<snippet01>
#using <System.dll>
#using <System.Core.dll>

using namespace System;
using namespace System::IO;
using namespace System::IO::Pipes;
using namespace System::Diagnostics;

ref class PipeServer
{
public:
    static void Main()
    {
        Process^ pipeClient = gcnew Process();

        pipeClient->StartInfo->FileName = "pipeClient.exe";

        AnonymousPipeServerStream^ pipeServer =
            gcnew AnonymousPipeServerStream(PipeDirection::Out,
            HandleInheritability::Inheritable);

        Console::WriteLine("[SERVER] Current TransmissionMode: {0}.",
            pipeServer->TransmissionMode);

        // Pass the client process a handle to the server.
        pipeClient->StartInfo->Arguments =
            pipeServer->GetClientHandleAsString();
        pipeClient->StartInfo->UseShellExecute = false;
        pipeClient->Start();

        pipeServer->DisposeLocalCopyOfClientHandle();

        try
        {
            // Read user input and send that to the client process.
            StreamWriter^ sw = gcnew StreamWriter(pipeServer);

            sw->AutoFlush = true;
            // Send a 'sync message' and wait for client to receive it.
            sw->WriteLine("SYNC");
            pipeServer->WaitForPipeDrain();
            // Send the console input to the client process.
            Console::Write("[SERVER] Enter text: ");
            sw->WriteLine(Console::ReadLine());
            sw->Close();
        }
        // Catch the IOException that is raised if the pipe is broken
        // or disconnected.
        catch (IOException^ e)
        {
            Console::WriteLine("[SERVER] Error: {0}", e->Message);
        }
        pipeServer->Close();
        pipeClient->WaitForExit();
        pipeClient->Close();
        Console::WriteLine("[SERVER] Client quit. Server terminating.");
    }
};

int main()
{
    PipeServer::Main();
}
//</snippet01>
//<snippet01>
using System;
using System.IO;
using System.IO.Pipes;
using System.Diagnostics;

class PipeServer
{
    static void Main()
    {
        Process pipeClient = new Process();

        pipeClient.StartInfo.FileName = "pipeClient.exe";

        using (AnonymousPipeServerStream pipeServer =
            new AnonymousPipeServerStream(PipeDirection.Out,
            HandleInheritability.Inheritable))
        {
            Console.WriteLine("[SERVER] Current TransmissionMode: {0}.",
                pipeServer.TransmissionMode);

            // Pass the client process a handle to the server.
            pipeClient.StartInfo.Arguments =
                pipeServer.GetClientHandleAsString();
            pipeClient.StartInfo.UseShellExecute = false;
            pipeClient.Start();

            pipeServer.DisposeLocalCopyOfClientHandle();

            try
            {
                // Read user input and send that to the client process.
                using (StreamWriter sw = new StreamWriter(pipeServer))
                {
                    sw.AutoFlush = true;
                    // Send a 'sync message' and wait for client to receive it.
                    sw.WriteLine("SYNC");
                    pipeServer.WaitForPipeDrain();
                    // Send the console input to the client process.
                    Console.Write("[SERVER] Enter text: ");
                    sw.WriteLine(Console.ReadLine());
                }
            }
            // Catch the IOException that is raised if the pipe is broken
            // or disconnected.
            catch (IOException e)
            {
                Console.WriteLine("[SERVER] Error: {0}", e.Message);
            }
        }

        pipeClient.WaitForExit();
        pipeClient.Close();
        Console.WriteLine("[SERVER] Client quit. Server terminating.");
    }
}
//</snippet01>
'<snippet01>
Imports System.IO
Imports System.IO.Pipes
Imports System.Diagnostics

Class PipeServer
    Shared Sub Main()
        Dim pipeClient As New Process()

        pipeClient.StartInfo.FileName = "pipeClient.exe"

        Using pipeServer As New AnonymousPipeServerStream(PipeDirection.Out, _
            HandleInheritability.Inheritable)

            Console.WriteLine("[SERVER] Current TransmissionMode: {0}.",
                pipeServer.TransmissionMode)

            ' Pass the client process a handle to the server.
            pipeClient.StartInfo.Arguments = pipeServer.GetClientHandleAsString()
            pipeClient.StartInfo.UseShellExecute = false
            pipeClient.Start()

            pipeServer.DisposeLocalCopyOfClientHandle()

            Try
                ' Read user input and send that to the client process.
                Using sw As New StreamWriter(pipeServer)
                    sw.AutoFlush = true
                    ' Send a 'sync message' and wait for client to receive it.
                    sw.WriteLine("SYNC")
                    pipeServer.WaitForPipeDrain()
                    ' Send the console input to the client process.
                    Console.Write("[SERVER] Enter text: ")
                    sw.WriteLine(Console.ReadLine())
                End Using
            Catch e As IOException
                ' Catch the IOException that is raised if the pipe is broken
                ' or disconnected.
                Console.WriteLine("[SERVER] Error: {0}", e.Message)
            End Try
        End Using

        pipeClient.WaitForExit()
        pipeClient.Close()
        Console.WriteLine("[SERVER] Client quit. Server terminating.")
    End Sub
End Class
'</snippet01>

Remarques

Une PipeDirection valeur de InOut n’est pas prise en charge, car les canaux anonymes sont définis pour être unidirectionnel.

Ce constructeur crée un AnonymousPipeServerStream objet qui a la taille de mémoire tampon par défaut et aucune sécurité de canal.

S’applique à

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Initialise une nouvelle instance de la classe AnonymousPipeServerStream à partir des handles de canal spécifiés.

public:
 AnonymousPipeServerStream(System::IO::Pipes::PipeDirection direction, Microsoft::Win32::SafeHandles::SafePipeHandle ^ serverSafePipeHandle, Microsoft::Win32::SafeHandles::SafePipeHandle ^ clientSafePipeHandle);
public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle serverSafePipeHandle, Microsoft.Win32.SafeHandles.SafePipeHandle clientSafePipeHandle);
[System.Security.SecurityCritical]
public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle serverSafePipeHandle, Microsoft.Win32.SafeHandles.SafePipeHandle clientSafePipeHandle);
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeServerStream
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeServerStream
Public Sub New (direction As PipeDirection, serverSafePipeHandle As SafePipeHandle, clientSafePipeHandle As SafePipeHandle)

Paramètres

direction
PipeDirection

L'une des valeurs d'énumération qui détermine le sens du canal.

Les canaux anonymes ne pouvant être que dans un sens, direction ne peut pas avoir la valeur InOut.

serverSafePipeHandle
SafePipeHandle

Handle sécurisé pour le canal que cet objet AnonymousPipeServerStream doit encapsuler.

clientSafePipeHandle
SafePipeHandle

Handle sécurisé pour l’objet AnonymousPipeClientStream.

Attributs

Exceptions

serverSafePipeHandle ou clientSafePipeHandle n’est pas un handle valide.

serverSafePipeHandle ou clientSafePipeHandle est null.

direction a la valeur InOut.

Une erreur d’E/S, telle qu’une erreur disque, s’est produite.

- ou -

Le flux a été fermé.

Remarques

Une PipeDirection valeur de InOut n’est pas prise en charge, car les canaux anonymes sont définis pour être unidirectionnel.

S’applique à

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Initialise une nouvelle instance de la classe AnonymousPipeServerStream avec le sens du canal, le mode d’héritage et la taille de la mémoire tampon spécifiés.

public:
 AnonymousPipeServerStream(System::IO::Pipes::PipeDirection direction, System::IO::HandleInheritability inheritability, int bufferSize);
public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, System.IO.HandleInheritability inheritability, int bufferSize);
[System.Security.SecurityCritical]
public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, System.IO.HandleInheritability inheritability, int bufferSize);
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection * System.IO.HandleInheritability * int -> System.IO.Pipes.AnonymousPipeServerStream
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection * System.IO.HandleInheritability * int -> System.IO.Pipes.AnonymousPipeServerStream
Public Sub New (direction As PipeDirection, inheritability As HandleInheritability, bufferSize As Integer)

Paramètres

direction
PipeDirection

L'une des valeurs d'énumération qui détermine le sens du canal.

Les canaux anonymes ne pouvant être que dans un sens, direction ne peut pas avoir la valeur InOut.

inheritability
HandleInheritability

L'une des valeurs d'énumération qui détermine si des processus enfants peuvent hériter du handle sous-jacent. Doit avoir la valeur None ou Inheritable.

bufferSize
Int32

Taille de la mémoire tampon. Cette valeur doit être supérieure ou égale à 0.

Attributs

Exceptions

inheritability n’a pas la valeur None ou Inheritable.

- ou -

bufferSize est inférieur à 0.

direction a la valeur InOut.

Remarques

Une PipeDirection valeur de InOut n’est pas prise en charge, car les canaux anonymes sont définis pour être unidirectionnel.

Ce constructeur crée un AnonymousPipeServerStream objet sans sécurité de canal.

S’applique à

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Initialise une nouvelle instance de la classe AnonymousPipeServerStream avec le sens du canal, le mode d’héritage, la taille de la mémoire tampon et la sécurité de canal spécifiés.

public:
 AnonymousPipeServerStream(System::IO::Pipes::PipeDirection direction, System::IO::HandleInheritability inheritability, int bufferSize, System::IO::Pipes::PipeSecurity ^ pipeSecurity);
[System.Security.SecurityCritical]
public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, System.IO.HandleInheritability inheritability, int bufferSize, System.IO.Pipes.PipeSecurity pipeSecurity);
public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, System.IO.HandleInheritability inheritability, int bufferSize, System.IO.Pipes.PipeSecurity pipeSecurity);
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection * System.IO.HandleInheritability * int * System.IO.Pipes.PipeSecurity -> System.IO.Pipes.AnonymousPipeServerStream
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection * System.IO.HandleInheritability * int * System.IO.Pipes.PipeSecurity -> System.IO.Pipes.AnonymousPipeServerStream
Public Sub New (direction As PipeDirection, inheritability As HandleInheritability, bufferSize As Integer, pipeSecurity As PipeSecurity)

Paramètres

direction
PipeDirection

L'une des valeurs d'énumération qui détermine le sens du canal.

Les canaux anonymes ne pouvant être que dans un sens, direction ne peut pas avoir la valeur InOut.

inheritability
HandleInheritability

L'une des valeurs d'énumération qui détermine si des processus enfants peuvent hériter du handle sous-jacent.

bufferSize
Int32

Taille de la mémoire tampon. Cette valeur doit être supérieure ou égale à 0.

pipeSecurity
PipeSecurity

Objet qui détermine la sécurité de contrôle d'accès et d'audit du canal.

Attributs

Exceptions

inheritability n’a pas la valeur None ou Inheritable.

- ou -

bufferSize est inférieur à 0.

direction a la valeur InOut.

Remarques

Une PipeDirection valeur de InOut n’est pas prise en charge, car les canaux anonymes sont définis pour être unidirectionnel.

S’applique à