AnonymousPipeServerStream Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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
direction ist auf InOut festgelegt.
Hinweise
Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Rohre als unidirektional definiert sind.