AnonymousPipeServerStream Konstruktoren

Definition

Initialisiert eine neue Instanz der AnonymousPipeServerStream-Klasse.

Überlädt

Name Beschreibung
AnonymousPipeServerStream()

Initialisiert eine neue Instanz der AnonymousPipeServerStream-Klasse.

AnonymousPipeServerStream(PipeDirection)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse mit der angegebenen Piperichtung.

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse mit der angegebenen Piperichtung und vererbbarkeitsmodus.

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse aus den angegebenen Pipehandles.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse mit der angegebenen Piperichtung, dem Vererbbarkeitsmodus und der Puffergröße.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse mit der angegebenen Piperichtung, vererbbarkeitsmodus, Puffergröße und Pipesicherheit.

AnonymousPipeServerStream()

Initialisiert eine neue Instanz der AnonymousPipeServerStream-Klasse.

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

Hinweise

Für AnonymousPipeServerStream Konstruktoren ohne PipeDirection Parameter lautet Outdie Standardrichtung . Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Rohre als unidirektional definiert sind.

Dieser Konstruktor erstellt ein AnonymousPipeServerStream Objekt mit der Standardpuffergröße, keine Pipesicherheit und einem HandleInheritability Wert von None.

Gilt für:

AnonymousPipeServerStream(PipeDirection)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse mit der angegebenen Piperichtung.

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)

Parameter

direction
PipeDirection

Einer der Enumerationswerte, die die Richtung der Pipe bestimmt.

Anonyme Rohre können nur in eine Richtung festgelegt werden, sodass direction sie nicht festgelegt InOutwerden können.

Ausnahmen

direction ist auf InOut festgelegt.

Hinweise

Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Rohre als unidirektional definiert sind.

Dieser Konstruktor erstellt ein AnonymousPipeServerStream Objekt mit der Standardpuffergröße, keine Pipesicherheit und einem HandleInheritability Wert von None.

Gilt für:

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse mit der angegebenen Piperichtung und vererbbarkeitsmodus.

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)

Parameter

direction
PipeDirection

Einer der Enumerationswerte, die die Richtung der Pipe bestimmt.

Anonyme Rohre können nur in eine Richtung festgelegt werden, sodass direction sie nicht festgelegt InOutwerden können.

inheritability
HandleInheritability

Einer der Enumerationswerte, der bestimmt, ob das zugrunde liegende Handle von untergeordneten Prozessen geerbt werden kann. Muss entweder None oder Inheritableauf .

Ausnahmen

inheritability ist weder auf ' None ' noch Inheritableauf '.

direction ist auf InOut festgelegt.

Beispiele

Im folgenden Beispiel wird eine Methode zum Senden einer Zeichenfolge aus einem übergeordneten Prozess an einen untergeordneten Prozess mithilfe anonymer Rohre veranschaulicht. In diesem Beispiel wird ein AnonymousPipeServerStream Objekt in einem übergeordneten Prozess mit dem PipeDirection Wert von Out.

//<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>

Hinweise

Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Rohre als unidirektional definiert sind.

Dieser Konstruktor erstellt ein AnonymousPipeServerStream Objekt, das über die Standardpuffergröße und keine Pipesicherheit verfügt.

Gilt für:

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse aus den angegebenen Pipehandles.

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);
public AnonymousPipeServerStream(System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle serverSafePipeHandle, Microsoft.Win32.SafeHandles.SafePipeHandle clientSafePipeHandle);
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeServerStream
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)

Parameter

direction
PipeDirection

Einer der Enumerationswerte, die die Richtung der Pipe bestimmt.

Anonyme Rohre können nur in eine Richtung festgelegt werden, sodass direction sie nicht festgelegt InOutwerden können.

serverSafePipeHandle
SafePipeHandle

Ein sicherer Handle für die Pipe, die dieses AnonymousPipeServerStream Objekt kapselt.

clientSafePipeHandle
SafePipeHandle

Ein sicherer Handle für das AnonymousPipeClientStream Objekt.

Attribute

Ausnahmen

serverSafePipeHandle oder clientSafePipeHandle ist ein ungültiger Handle.

serverSafePipeHandle oder clientSafePipeHandle ist null.

direction ist auf InOut festgelegt.

Ein E/A-Fehler, z. B. ein Datenträgerfehler, ist aufgetreten.

-oder-

Der Datenstrom wurde geschlossen.

Hinweise

Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Rohre als unidirektional definiert sind.

Gilt für:

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse mit der angegebenen Piperichtung, dem Vererbbarkeitsmodus und der Puffergröße.

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);
public AnonymousPipeServerStream(System.IO.Pipes.PipeDirection direction, System.IO.HandleInheritability inheritability, int bufferSize);
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeServerStream : System.IO.Pipes.PipeDirection * System.IO.HandleInheritability * int -> System.IO.Pipes.AnonymousPipeServerStream
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)

Parameter

direction
PipeDirection

Einer der Enumerationswerte, die die Richtung der Pipe bestimmt.

Anonyme Rohre können nur in eine Richtung festgelegt werden, sodass direction sie nicht festgelegt InOutwerden können.

inheritability
HandleInheritability

Einer der Enumerationswerte, der bestimmt, ob das zugrunde liegende Handle von untergeordneten Prozessen geerbt werden kann. Muss entweder None oder Inheritableauf .

bufferSize
Int32

Die Größe des Puffers. Dieser Wert muss größer oder gleich 0 sein.

Attribute

Ausnahmen

inheritability ist weder auf ' None ' noch Inheritableauf '.

-oder-

bufferSize ist kleiner als 0.

direction ist auf InOut festgelegt.

Hinweise

Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Rohre als unidirektional definiert sind.

Dieser Konstruktor erstellt ein AnonymousPipeServerStream Objekt ohne Pipesicherheit.

Gilt für:

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Initialisiert eine neue Instanz der AnonymousPipeServerStream Klasse mit der angegebenen Piperichtung, vererbbarkeitsmodus, Puffergröße und Pipesicherheit.

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)

Parameter

direction
PipeDirection

Einer der Enumerationswerte, die die Richtung der Pipe bestimmt.

Anonyme Rohre können nur in eine Richtung festgelegt werden, sodass direction sie nicht festgelegt InOutwerden können.

inheritability
HandleInheritability

Einer der Enumerationswerte, der bestimmt, ob das zugrunde liegende Handle von untergeordneten Prozessen geerbt werden kann.

bufferSize
Int32

Die Größe des Puffers. Dieser Wert muss größer oder gleich 0 sein.

pipeSecurity
PipeSecurity

Ein Objekt, das die Zugriffssteuerung und die Überwachungssicherheit für die Pipe bestimmt.

Attribute

Ausnahmen

inheritability ist weder auf ' None ' noch Inheritableauf '.

-oder-

bufferSize ist kleiner als 0.

direction ist auf InOut festgelegt.

Hinweise

Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Rohre als unidirektional definiert sind.

Gilt für: