Partilhar via


AnonymousPipeServerStream Construtores

Definição

Inicializa uma nova instância da classe AnonymousPipeServerStream.

Sobrecargas

AnonymousPipeServerStream()

Inicializa uma nova instância da classe AnonymousPipeServerStream.

AnonymousPipeServerStream(PipeDirection)

Inicializa uma nova instância da classe AnonymousPipeServerStream com a direção do pipe especificada.

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Inicializa uma nova instância da classe AnonymousPipeServerStream com a direção do pipe e o modo de herdabilidade especificados.

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Inicializa uma nova instância da classe AnonymousPipeServerStream dos identificadores de pipe especificados.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Inicializa uma nova instância da classe AnonymousPipeServerStream com a direção do pipe, o modo de herdabilidade e o tamanho do buffer especificados.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Inicializa uma nova instância da classe AnonymousPipeServerStream com a direção do pipe, o modo de herdabilidade, o tamanho do buffer e a segurança do pipe especificados.

AnonymousPipeServerStream()

Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs

Inicializa uma nova instância da classe AnonymousPipeServerStream.

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

Comentários

Para AnonymousPipeServerStream construtores sem um PipeDirection parâmetro, a direção padrão é Out. Não PipeDirection há suporte para um valor de InOut porque pipes anônimos são definidos como unidirecionais.

Esse construtor cria um AnonymousPipeServerStream objeto que tem o tamanho do buffer padrão, nenhuma segurança de pipe e um HandleInheritability valor de None.

Aplica-se a

AnonymousPipeServerStream(PipeDirection)

Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs

Inicializa uma nova instância da classe AnonymousPipeServerStream com a direção do pipe especificada.

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)

Parâmetros

direction
PipeDirection

Um dos valores de enumeração que determina a direção do pipe.

Pipes anônimos só podem estar em uma direção, então direction não pode ser definido como InOut.

Exceções

direction é definido como InOut.

Comentários

Não PipeDirection há suporte para um valor de InOut porque pipes anônimos são definidos como unidirecionais.

Esse construtor cria um AnonymousPipeServerStream objeto que tem o tamanho do buffer padrão, nenhuma segurança de pipe e um HandleInheritability valor de None.

Aplica-se a

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs

Inicializa uma nova instância da classe AnonymousPipeServerStream com a direção do pipe e o modo de herdabilidade especificados.

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)

Parâmetros

direction
PipeDirection

Um dos valores de enumeração que determina a direção do pipe.

Pipes anônimos só podem estar em uma direção, então direction não pode ser definido como InOut.

inheritability
HandleInheritability

Um dos valores de enumeração que determina se o identificador subjacente pode ser herdado por processos filhos. Deve ser definido como None ou Inheritable.

Exceções

inheritability não está definido como None nem como Inheritable.

direction é definido como InOut.

Exemplos

O exemplo a seguir demonstra um método para enviar uma cadeia de caracteres de um processo pai para um processo filho usando pipes anônimos. Neste exemplo, um AnonymousPipeServerStream objeto é criado em um processo pai com um PipeDirection valor de Out.

//<snippet01>
#using <System.dll>
#using <System.Core.dll>

using namespace System;
using namespace System::IO;
using namespace System::IO::Pipes;
using namespace System::Diagnostics;

ref class PipeServer
{
public:
    static void Main()
    {
        Process^ pipeClient = gcnew Process();

        pipeClient->StartInfo->FileName = "pipeClient.exe";

        AnonymousPipeServerStream^ pipeServer =
            gcnew 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.
            StreamWriter^ sw = gcnew 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());
            sw->Close();
        }
        // Catch the IOException that is raised if the pipe is broken
        // or disconnected.
        catch (IOException^ e)
        {
            Console::WriteLine("[SERVER] Error: {0}", e->Message);
        }
        pipeServer->Close();
        pipeClient->WaitForExit();
        pipeClient->Close();
        Console::WriteLine("[SERVER] Client quit. Server terminating.");
    }
};

int main()
{
    PipeServer::Main();
}
//</snippet01>
//<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>

Comentários

Não PipeDirection há suporte para um valor de InOut porque pipes anônimos são definidos como unidirecionais.

Esse construtor cria um AnonymousPipeServerStream objeto que tem o tamanho do buffer padrão e nenhuma segurança de pipe.

Aplica-se a

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs

Inicializa uma nova instância da classe AnonymousPipeServerStream dos identificadores de pipe especificados.

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

Parâmetros

direction
PipeDirection

Um dos valores de enumeração que determina a direção do pipe.

Pipes anônimos só podem estar em uma direção, então direction não pode ser definido como InOut.

serverSafePipeHandle
SafePipeHandle

Um identificador seguro para o arquivo que este objeto AnonymousPipeServerStream encapsulará.

clientSafePipeHandle
SafePipeHandle

Um identificador seguro para o objeto AnonymousPipeClientStream.

Atributos

Exceções

serverSafePipeHandle ou clientSafePipeHandle é um identificador inválido.

serverSafePipeHandle ou clientSafePipeHandle é null.

direction é definido como InOut.

Ocorreu um erro de E/S, como um erro de disco.

- ou -

O fluxo foi fechado.

Comentários

Não PipeDirection há suporte para um valor de InOut porque pipes anônimos são definidos como unidirecionais.

Aplica-se a

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs
Origem:
AnonymousPipeServerStream.cs

Inicializa uma nova instância da classe AnonymousPipeServerStream com a direção do pipe, o modo de herdabilidade e o tamanho do buffer especificados.

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

Parâmetros

direction
PipeDirection

Um dos valores de enumeração que determina a direção do pipe.

Pipes anônimos só podem estar em uma direção, então direction não pode ser definido como InOut.

inheritability
HandleInheritability

Um dos valores de enumeração que determina se o identificador subjacente pode ser herdado por processos filhos. Deve ser definido como None ou Inheritable.

bufferSize
Int32

O tamanho do buffer. Esse valor deve ser maior ou igual a 0.

Atributos

Exceções

inheritability não está definido como None nem como Inheritable.

- ou -

bufferSize é menor que 0.

direction é definido como InOut.

Comentários

Não PipeDirection há suporte para um valor de InOut porque pipes anônimos são definidos como unidirecionais.

Esse construtor cria um AnonymousPipeServerStream objeto sem segurança de pipe.

Aplica-se a

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Inicializa uma nova instância da classe AnonymousPipeServerStream com a direção do pipe, o modo de herdabilidade, o tamanho do buffer e a segurança do pipe especificados.

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)

Parâmetros

direction
PipeDirection

Um dos valores de enumeração que determina a direção do pipe.

Pipes anônimos só podem estar em uma direção, então direction não pode ser definido como InOut.

inheritability
HandleInheritability

Um dos valores de enumeração que determina se o identificador subjacente pode ser herdado por processos filhos.

bufferSize
Int32

O tamanho do buffer. Esse valor deve ser maior ou igual a 0.

pipeSecurity
PipeSecurity

Um objeto que determina o controle de acesso e a segurança de auditoria para o pipe.

Atributos

Exceções

inheritability não está definido como None nem como Inheritable.

- ou -

bufferSize é menor que 0.

direction é definido como InOut.

Comentários

Não PipeDirection há suporte para um valor de InOut porque pipes anônimos são definidos como unidirecionais.

Aplica-se a