AnonymousPipeClientStream 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 AnonymousPipeClientStream-Klasse.
Überlädt
| Name | Beschreibung |
|---|---|
| AnonymousPipeClientStream(String) |
Initialisiert eine neue Instanz der AnonymousPipeClientStream Klasse mit der angegebenen Zeichenfolgendarstellung des Pipehandle. |
| AnonymousPipeClientStream(PipeDirection, SafePipeHandle) |
Initialisiert eine neue Instanz der AnonymousPipeClientStream Klasse aus dem angegebenen Handle. |
| AnonymousPipeClientStream(PipeDirection, String) |
Initialisiert eine neue Instanz der AnonymousPipeClientStream Klasse mit der angegebenen Piperichtung und einer Zeichenfolgendarstellung des Pipehandle. |
AnonymousPipeClientStream(String)
Initialisiert eine neue Instanz der AnonymousPipeClientStream Klasse mit der angegebenen Zeichenfolgendarstellung des Pipehandle.
public:
AnonymousPipeClientStream(System::String ^ pipeHandleAsString);
public AnonymousPipeClientStream(string pipeHandleAsString);
new System.IO.Pipes.AnonymousPipeClientStream : string -> System.IO.Pipes.AnonymousPipeClientStream
Public Sub New (pipeHandleAsString As String)
Parameter
- pipeHandleAsString
- String
Eine Zeichenfolge, die den Pipehandle darstellt.
Ausnahmen
pipeHandleAsString ist kein gültiger Rohrziehpunkt.
Beispiele
Im folgenden Beispiel wird eine Möglichkeit zum Senden einer Zeichenfolge von einem übergeordneten Prozess an einen untergeordneten Prozess mithilfe von anonymen Rohren veranschaulicht. In diesem Beispiel wird ein AnonymousPipeClientStream Objekt in einem untergeordneten Prozess erstellt.
using System;
using System.IO;
using System.IO.Pipes;
class PipeClient
{
static void Main(string[] args)
{
if (args.Length > 0)
{
using (PipeStream pipeClient =
new AnonymousPipeClientStream(args[0]))
{
Console.WriteLine("Current TransmissionMode: {0}.",
pipeClient.TransmissionMode);
// Anonymous Pipes do not support Message mode.
try
{
Console.WriteLine("Setting ReadMode to \"Message\".");
pipeClient.ReadMode = PipeTransmissionMode.Message;
}
catch (NotSupportedException e)
{
Console.WriteLine("EXCEPTION: {0}", e.Message);
}
using (StreamReader sr = new StreamReader(pipeClient))
{
// Display the read text to the console
string temp;
while ((temp = sr.ReadLine()) != null)
{
Console.WriteLine(temp);
}
}
}
}
Console.Write("Press Enter to continue...");
Console.ReadLine();
}
}
Imports System.IO
Imports System.IO.Pipes
Class PipeClient
Shared Sub Main(ByVal args As String())
If (args.Length > 0) Then
Using pipeClient As New AnonymousPipeClientStream(args(0))
Console.WriteLine("Current TransmissionMode: {0}.", _
pipeClient.TransmissionMode)
' Anonymous Pipes do not support Message mode.
Try
Console.WriteLine("Setting ReadMode to 'Message'.")
pipeClient.ReadMode = PipeTransmissionMode.Message
Catch e As NotSupportedException
Console.WriteLine("EXCEPTION: {0}", e.Message)
End Try
Using sr As New StreamReader(pipeClient)
' Display the read text to the console
Dim temp As String
temp = sr.ReadLine()
While Not temp = Nothing
Console.WriteLine(temp)
temp = sr.ReadLine()
End While
End Using
End Using
End If
Console.Write("Press Enter to continue...")
Console.ReadLine()
End Sub
End Class
Hinweise
Für Konstruktoren ohne PipeDirection Parameter lautet Indie Standardrichtung .
Gilt für:
AnonymousPipeClientStream(PipeDirection, SafePipeHandle)
Initialisiert eine neue Instanz der AnonymousPipeClientStream Klasse aus dem angegebenen Handle.
public:
AnonymousPipeClientStream(System::IO::Pipes::PipeDirection direction, Microsoft::Win32::SafeHandles::SafePipeHandle ^ safePipeHandle);
[System.Security.SecurityCritical]
public AnonymousPipeClientStream(System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle);
public AnonymousPipeClientStream(System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle);
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeClientStream
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeClientStream
Public Sub New (direction As PipeDirection, safePipeHandle 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.
- safePipeHandle
- SafePipeHandle
Ein sicherer Handle für die Pipe, die dieses AnonymousPipeClientStream Objekt kapselt.
- Attribute
Ausnahmen
safePipeHandle ist kein gültiger Handle.
safePipeHandle ist null.
direction ist auf InOut festgelegt.
Ein E/A-Fehler, z. B. ein Datenträgerfehler, ist aufgetreten.
-oder-
Der Datenstrom wurde geschlossen.
Beispiele
Im folgenden Beispiel wird eine Möglichkeit zum Senden einer Zeichenfolge von einem übergeordneten Prozess an einen untergeordneten Prozess mithilfe von anonymen Rohren veranschaulicht. In diesem Beispiel wird ein AnonymousPipeClientStream Objekt in einem untergeordneten Prozess mit einem PipeDirection Wert von In.
using System;
using System.IO;
using System.IO.Pipes;
class PipeClient
{
static void Main(string[] args)
{
if (args.Length > 0)
{
using (PipeStream pipeClient =
new AnonymousPipeClientStream(args[0]))
{
Console.WriteLine("Current TransmissionMode: {0}.",
pipeClient.TransmissionMode);
// Anonymous Pipes do not support Message mode.
try
{
Console.WriteLine("Setting ReadMode to \"Message\".");
pipeClient.ReadMode = PipeTransmissionMode.Message;
}
catch (NotSupportedException e)
{
Console.WriteLine("EXCEPTION: {0}", e.Message);
}
using (StreamReader sr = new StreamReader(pipeClient))
{
// Display the read text to the console
string temp;
while ((temp = sr.ReadLine()) != null)
{
Console.WriteLine(temp);
}
}
}
}
Console.Write("Press Enter to continue...");
Console.ReadLine();
}
}
Imports System.IO
Imports System.IO.Pipes
Class PipeClient
Shared Sub Main(ByVal args As String())
If (args.Length > 0) Then
Using pipeClient As New AnonymousPipeClientStream(args(0))
Console.WriteLine("Current TransmissionMode: {0}.", _
pipeClient.TransmissionMode)
' Anonymous Pipes do not support Message mode.
Try
Console.WriteLine("Setting ReadMode to 'Message'.")
pipeClient.ReadMode = PipeTransmissionMode.Message
Catch e As NotSupportedException
Console.WriteLine("EXCEPTION: {0}", e.Message)
End Try
Using sr As New StreamReader(pipeClient)
' Display the read text to the console
Dim temp As String
temp = sr.ReadLine()
While Not temp = Nothing
Console.WriteLine(temp)
temp = sr.ReadLine()
End While
End Using
End Using
End If
Console.Write("Press Enter to continue...")
Console.ReadLine()
End Sub
End Class
Hinweise
Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Rohre als unidirektional definiert sind.
Gilt für:
AnonymousPipeClientStream(PipeDirection, String)
Initialisiert eine neue Instanz der AnonymousPipeClientStream Klasse mit der angegebenen Piperichtung und einer Zeichenfolgendarstellung des Pipehandle.
public:
AnonymousPipeClientStream(System::IO::Pipes::PipeDirection direction, System::String ^ pipeHandleAsString);
[System.Security.SecurityCritical]
public AnonymousPipeClientStream(System.IO.Pipes.PipeDirection direction, string pipeHandleAsString);
public AnonymousPipeClientStream(System.IO.Pipes.PipeDirection direction, string pipeHandleAsString);
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * string -> System.IO.Pipes.AnonymousPipeClientStream
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * string -> System.IO.Pipes.AnonymousPipeClientStream
Public Sub New (direction As PipeDirection, pipeHandleAsString As String)
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.
- pipeHandleAsString
- String
Eine Zeichenfolge, die den Pipehandle darstellt.
- Attribute
Ausnahmen
pipeHandleAsString ist ein ungültiger Handle.
pipeHandleAsString ist null.
direction ist auf InOut festgelegt.
Beispiele
Im folgenden Beispiel wird eine Möglichkeit zum Senden einer Zeichenfolge von einem übergeordneten Prozess an einen untergeordneten Prozess mithilfe von anonymen Rohren veranschaulicht. In diesem Beispiel wird ein AnonymousPipeClientStream Objekt in einem untergeordneten Prozess mit einem PipeDirection Wert von In.
//<snippet01>
using System;
using System.IO;
using System.IO.Pipes;
class PipeClient
{
static void Main(string[] args)
{
if (args.Length > 0)
{
using (PipeStream pipeClient =
new AnonymousPipeClientStream(PipeDirection.In, args[0]))
{
Console.WriteLine("[CLIENT] Current TransmissionMode: {0}.",
pipeClient.TransmissionMode);
using (StreamReader sr = new StreamReader(pipeClient))
{
// Display the read text to the console
string temp;
// Wait for 'sync message' from the server.
do
{
Console.WriteLine("[CLIENT] Wait for sync...");
temp = sr.ReadLine();
}
while (!temp.StartsWith("SYNC"));
// Read the server data and echo to the console.
while ((temp = sr.ReadLine()) != null)
{
Console.WriteLine("[CLIENT] Echo: " + temp);
}
}
}
}
Console.Write("[CLIENT] Press Enter to continue...");
Console.ReadLine();
}
}
//</snippet01>
'<snippet01>
Imports System.IO
Imports System.IO.Pipes
Class PipeClient
Shared Sub Main(args() as String)
If args.Length > 0 Then
Using pipeClient As New AnonymousPipeClientStream(PipeDirection.In, args(0))
Console.WriteLine("[CLIENT] Current TransmissionMode: {0}.", _
pipeClient.TransmissionMode)
Using sr As New StreamReader(pipeClient)
' Display the read text to the console
Dim temp As String
' Wait for 'sync message' from the server.
Do
Console.WriteLine("[CLIENT] Wait for sync...")
temp = sr.ReadLine()
Loop While temp.StartsWith("SYNC") = False
' Read the server data and echo to the console.
temp = sr.ReadLine()
While Not temp = Nothing
Console.WriteLine("[CLIENT] Echo: " + temp)
temp = sr.ReadLine()
End While
End Using
End Using
End If
Console.Write("[CLIENT] Press Enter to continue...")
Console.ReadLine()
End Sub
End Class
'</snippet01>
Hinweise
Ein PipeDirection Wert von InOut wird nicht unterstützt, da anonyme Rohre als unidirektional definiert sind.