AnonymousPipeClientStream 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
AnonymousPipeClientStream 클래스의 새 인스턴스를 초기화합니다.
오버로드
| Name | Description |
|---|---|
| AnonymousPipeClientStream(String) |
파이프 핸들의 지정된 문자열 표현을 AnonymousPipeClientStream 사용하여 클래스의 새 인스턴스를 초기화합니다. |
| AnonymousPipeClientStream(PipeDirection, SafePipeHandle) |
지정된 핸들에서 클래스의 AnonymousPipeClientStream 새 인스턴스를 초기화합니다. |
| AnonymousPipeClientStream(PipeDirection, String) |
지정된 파이프 방향과 파이프 핸들의 AnonymousPipeClientStream 문자열 표현을 사용하여 클래스의 새 인스턴스를 초기화합니다. |
AnonymousPipeClientStream(String)
파이프 핸들의 지정된 문자열 표현을 AnonymousPipeClientStream 사용하여 클래스의 새 인스턴스를 초기화합니다.
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)
매개 변수
- pipeHandleAsString
- String
파이프 핸들을 나타내는 문자열입니다.
예외
pipeHandleAsString 가 올바른 파이프 핸들이 아닌 경우
예제
다음 예제에서는 익명 파이프를 사용하여 부모 프로세스에서 자식 프로세스로 문자열을 보내는 방법을 보여 줍니다. 이 예제에서는 AnonymousPipeClientStream 자식 프로세스에서 개체를 만듭니다.
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
설명
매개 변수가 PipeDirection 없는 생성자의 경우 기본 방향은 .입니다 In.
적용 대상
AnonymousPipeClientStream(PipeDirection, SafePipeHandle)
지정된 핸들에서 클래스의 AnonymousPipeClientStream 새 인스턴스를 초기화합니다.
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)
매개 변수
- direction
- PipeDirection
파이프의 방향을 결정하는 열거형 값 중 하나입니다.
익명 파이프는 한 방향으로만 사용할 수 있으므로 direction 로 설정할 InOut수 없습니다.
- safePipeHandle
- SafePipeHandle
이 AnonymousPipeClientStream 개체가 캡슐화할 파이프에 대한 안전한 핸들입니다.
- 특성
예외
safePipeHandle 가 유효한 핸들이 아닙니다.
safePipeHandle은 null입니다.
direction이 InOut로 설정됩니다.
예제
다음 예제에서는 익명 파이프를 사용하여 부모 프로세스에서 자식 프로세스로 문자열을 보내는 방법을 보여 줍니다. 이 예제에서는 AnonymousPipeClientStream 값In이 1인 자식 프로세스에서 개체가 PipeDirection 만들어집니다.
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
설명
익명 파이프는 단방향으로 정의되므로 PipeDirection 값을 지원하지 않습니다.
적용 대상
AnonymousPipeClientStream(PipeDirection, String)
지정된 파이프 방향과 파이프 핸들의 AnonymousPipeClientStream 문자열 표현을 사용하여 클래스의 새 인스턴스를 초기화합니다.
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)
매개 변수
- direction
- PipeDirection
파이프의 방향을 결정하는 열거형 값 중 하나입니다.
익명 파이프는 한 방향으로만 사용할 수 있으므로 direction 로 설정할 InOut수 없습니다.
- pipeHandleAsString
- String
파이프 핸들을 나타내는 문자열입니다.
- 특성
예외
pipeHandleAsString 가 잘못된 핸들입니다.
pipeHandleAsString은 null입니다.
direction이 InOut로 설정됩니다.
예제
다음 예제에서는 익명 파이프를 사용하여 부모 프로세스에서 자식 프로세스로 문자열을 보내는 방법을 보여 줍니다. 이 예제에서는 AnonymousPipeClientStream 값In이 1인 자식 프로세스에서 개체가 PipeDirection 만들어집니다.
//<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>
설명
익명 파이프는 단방향으로 정의되므로 PipeDirection 값을 지원하지 않습니다.