AnonymousPipeServerStream 생성자

정의

AnonymousPipeServerStream 클래스의 새 인스턴스를 초기화합니다.

오버로드

Name Description
AnonymousPipeServerStream()

AnonymousPipeServerStream 클래스의 새 인스턴스를 초기화합니다.

AnonymousPipeServerStream(PipeDirection)

지정된 파이프 방향을 사용하여 클래스의 AnonymousPipeServerStream 새 인스턴스를 초기화합니다.

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

지정된 파이프 방향 및 상속 모드를 AnonymousPipeServerStream 사용하여 클래스의 새 인스턴스를 초기화합니다.

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

지정된 파이프 핸들에서 클래스의 AnonymousPipeServerStream 새 인스턴스를 초기화합니다.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

지정된 파이프 방향, 상속 모드 및 버퍼 크기를 사용하여 클래스의 AnonymousPipeServerStream 새 인스턴스를 초기화합니다.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

지정된 파이프 방향, 상속 모드, 버퍼 크기 및 파이프 보안을 사용하여 클래스의 AnonymousPipeServerStream 새 인스턴스를 초기화합니다.

AnonymousPipeServerStream()

AnonymousPipeServerStream 클래스의 새 인스턴스를 초기화합니다.

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

설명

매개 변수가 PipeDirection 없는 생성자의 경우 AnonymousPipeServerStream 기본 방향은 .입니다Out. PipeDirection 익명 파이프가 단방향으로 정의되므로 값 InOut 은 지원되지 않습니다.

이 생성자는 기본 버퍼 크기, 파이프 보안 및 값None이 있는 개체를 HandleInheritability 만듭니다AnonymousPipeServerStream.

적용 대상

AnonymousPipeServerStream(PipeDirection)

지정된 파이프 방향을 사용하여 클래스의 AnonymousPipeServerStream 새 인스턴스를 초기화합니다.

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)

매개 변수

direction
PipeDirection

파이프의 방향을 결정하는 열거형 값 중 하나입니다.

익명 파이프는 한 방향으로만 사용할 수 있으므로 direction 로 설정할 InOut수 없습니다.

예외

directionInOut로 설정됩니다.

설명

익명 파이프는 단방향으로 정의되므로 PipeDirection 값을 지원하지 않습니다.

이 생성자는 기본 버퍼 크기, 파이프 보안 및 값None이 있는 개체를 HandleInheritability 만듭니다AnonymousPipeServerStream.

적용 대상

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

지정된 파이프 방향 및 상속 모드를 AnonymousPipeServerStream 사용하여 클래스의 새 인스턴스를 초기화합니다.

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)

매개 변수

direction
PipeDirection

파이프의 방향을 결정하는 열거형 값 중 하나입니다.

익명 파이프는 한 방향으로만 사용할 수 있으므로 direction 로 설정할 InOut수 없습니다.

inheritability
HandleInheritability

자식 프로세스에서 기본 핸들을 상속할 수 있는지 여부를 결정하는 열거형 값 중 하나입니다. 또는 NoneInheritable.로 설정해야 합니다.

예외

inheritability 가 또는 NoneInheritable.로 설정되지 않았습니다.

directionInOut로 설정됩니다.

예제

다음 예제에서는 익명 파이프를 사용 하 여 자식 프로세스에 부모 프로세스에서 문자열을 보내는 메서드를 보여 줍니다. 이 예제에서는 AnonymousPipeServerStreamOut이 1인 부모 프로세스에서 개체가 PipeDirection 만들어집니다.

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

설명

익명 파이프는 단방향으로 정의되므로 PipeDirection 값을 지원하지 않습니다.

이 생성자는 기본 버퍼 크기와 파이프 보안이 없는 개체를 만듭니다 AnonymousPipeServerStream .

적용 대상

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

지정된 파이프 핸들에서 클래스의 AnonymousPipeServerStream 새 인스턴스를 초기화합니다.

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)

매개 변수

direction
PipeDirection

파이프의 방향을 결정하는 열거형 값 중 하나입니다.

익명 파이프는 한 방향으로만 사용할 수 있으므로 direction 로 설정할 InOut수 없습니다.

serverSafePipeHandle
SafePipeHandle

AnonymousPipeServerStream 개체가 캡슐화할 파이프에 대한 안전한 핸들입니다.

clientSafePipeHandle
SafePipeHandle

개체에 대한 안전한 핸들입니다 AnonymousPipeClientStream .

특성

예외

serverSafePipeHandle 또는 clientSafePipeHandle 잘못된 핸들입니다.

serverSafePipeHandle 또는 clientSafePipeHandle .입니다 null.

directionInOut로 설정됩니다.

디스크 오류와 같은 I/O 오류가 발생했습니다.

-또는-

스트림이 닫혔습니다.

설명

익명 파이프는 단방향으로 정의되므로 PipeDirection 값을 지원하지 않습니다.

적용 대상

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

지정된 파이프 방향, 상속 모드 및 버퍼 크기를 사용하여 클래스의 AnonymousPipeServerStream 새 인스턴스를 초기화합니다.

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)

매개 변수

direction
PipeDirection

파이프의 방향을 결정하는 열거형 값 중 하나입니다.

익명 파이프는 한 방향으로만 사용할 수 있으므로 direction 로 설정할 InOut수 없습니다.

inheritability
HandleInheritability

자식 프로세스에서 기본 핸들을 상속할 수 있는지 여부를 결정하는 열거형 값 중 하나입니다. 또는 NoneInheritable.로 설정해야 합니다.

bufferSize
Int32

버퍼 크기입니다. 이 값은 0보다 크거나 같아야 합니다.

특성

예외

inheritability 가 또는 NoneInheritable.로 설정되지 않았습니다.

-또는-

bufferSize 가 0보다 작습니다.

directionInOut로 설정됩니다.

설명

익명 파이프는 단방향으로 정의되므로 PipeDirection 값을 지원하지 않습니다.

이 생성자는 파이프 보안 없이 개체를 AnonymousPipeServerStream 만듭니다.

적용 대상

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

지정된 파이프 방향, 상속 모드, 버퍼 크기 및 파이프 보안을 사용하여 클래스의 AnonymousPipeServerStream 새 인스턴스를 초기화합니다.

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)

매개 변수

direction
PipeDirection

파이프의 방향을 결정하는 열거형 값 중 하나입니다.

익명 파이프는 한 방향으로만 사용할 수 있으므로 direction 로 설정할 InOut수 없습니다.

inheritability
HandleInheritability

자식 프로세스에서 기본 핸들을 상속할 수 있는지 여부를 결정하는 열거형 값 중 하나입니다.

bufferSize
Int32

버퍼 크기입니다. 이 값은 0보다 크거나 같아야 합니다.

pipeSecurity
PipeSecurity

파이프에 대한 액세스 제어 및 감사 보안을 결정하는 개체입니다.

특성

예외

inheritability 가 또는 NoneInheritable.로 설정되지 않았습니다.

-또는-

bufferSize 가 0보다 작습니다.

directionInOut로 설정됩니다.

설명

익명 파이프는 단방향으로 정의되므로 PipeDirection 값을 지원하지 않습니다.

적용 대상