Share via


AnonymousPipeServerStream Constructores

Definición

Inicializa una nueva instancia de la clase AnonymousPipeServerStream.

Sobrecargas

AnonymousPipeServerStream()

Inicializa una nueva instancia de la clase AnonymousPipeServerStream.

AnonymousPipeServerStream(PipeDirection)

Inicializa una nueva instancia de la clase AnonymousPipeServerStream con la dirección de canalización especificada.

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Inicializa una nueva instancia de la clase AnonymousPipeServerStream con las características dirección de canalización y modo de herencia especificadas.

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Inicializa una nueva instancia de la clase AnonymousPipeServerStream a partir de los identificadores de canalización especificados.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Inicializa una nueva instancia de la clase AnonymousPipeServerStream con las características dirección de canalización, modo de herencia y tamaño de búfer especificadas.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Inicializa una nueva instancia de la clase AnonymousPipeServerStream con las características dirección de la canalización, modo de herencia, tamaño de búfer y seguridad de canalización especificadas.

AnonymousPipeServerStream()

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Inicializa una nueva instancia de la clase AnonymousPipeServerStream.

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

Comentarios

En AnonymousPipeServerStream el caso de los constructores sin un PipeDirection parámetro, la dirección predeterminada es Out. No se admite un PipeDirection valor de InOut porque las canalizaciones anónimas se definen como unidireccionales.

Este constructor crea un AnonymousPipeServerStream objeto que tiene el tamaño predeterminado del búfer, ninguna seguridad de canalización y un HandleInheritability valor de None.

Se aplica a

AnonymousPipeServerStream(PipeDirection)

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Inicializa una nueva instancia de la clase AnonymousPipeServerStream con la dirección de canalización 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

Uno de los valores de enumeración que determina la dirección de la canalización.

Las canalizaciones anónimas solo pueden ser en una dirección, por lo que direction no se puede establecer en InOut.

Excepciones

El valor de direction está establecido en InOut.

Comentarios

No se admite un PipeDirection valor de InOut porque las canalizaciones anónimas se definen como unidireccionales.

Este constructor crea un AnonymousPipeServerStream objeto que tiene el tamaño predeterminado del búfer, ninguna seguridad de canalización y un HandleInheritability valor de None.

Se aplica a

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Inicializa una nueva instancia de la clase AnonymousPipeServerStream con las características dirección de canalización y modo de herencia especificadas.

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

Uno de los valores de enumeración que determina la dirección de la canalización.

Las canalizaciones anónimas solo pueden ser en una dirección, por lo que direction no se puede establecer en InOut.

inheritability
HandleInheritability

Uno de los valores de enumeración que determina si los procesos secundarios pueden heredar el identificador subyacente. Se debe establecer en None o en Inheritable.

Excepciones

inheritability no está establecido en None o Inheritable.

El valor de direction está establecido en InOut.

Ejemplos

En el ejemplo siguiente se muestra un método para enviar una cadena de un proceso primario a un proceso secundario mediante canalizaciones anónimas. En este ejemplo, se crea un AnonymousPipeServerStream objeto en un proceso primario con un 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>

Comentarios

No se admite un PipeDirection valor de InOut porque las canalizaciones anónimas se definen como unidireccionales.

Este constructor crea un AnonymousPipeServerStream objeto que tiene el tamaño de búfer predeterminado y sin seguridad de canalización.

Se aplica a

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Inicializa una nueva instancia de la clase AnonymousPipeServerStream a partir de los identificadores de canalización 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

Uno de los valores de enumeración que determina la dirección de la canalización.

Las canalizaciones anónimas solo pueden ser en una dirección, por lo que direction no se puede establecer en InOut.

serverSafePipeHandle
SafePipeHandle

Controlador seguro para la canalización que este objeto AnonymousPipeServerStream encapsulará.

clientSafePipeHandle
SafePipeHandle

Controlador seguro para el objeto AnonymousPipeClientStream.

Atributos

Excepciones

serverSafePipeHandle o clientSafePipeHandle es un controlador no válido.

serverSafePipeHandle o clientSafePipeHandle es null.

El valor de direction está establecido en InOut.

Se ha producido un error de E/S, como un error de disco.

o bien

Se ha cerrado la secuencia.

Comentarios

No se admite un PipeDirection valor de InOut porque las canalizaciones anónimas se definen como unidireccionales.

Se aplica a

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs
Source:
AnonymousPipeServerStream.cs

Inicializa una nueva instancia de la clase AnonymousPipeServerStream con las características dirección de canalización, modo de herencia y tamaño de búfer especificadas.

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

Uno de los valores de enumeración que determina la dirección de la canalización.

Las canalizaciones anónimas solo pueden ser en una dirección, por lo que direction no se puede establecer en InOut.

inheritability
HandleInheritability

Uno de los valores de enumeración que determina si los procesos secundarios pueden heredar el identificador subyacente. Se debe establecer en None o en Inheritable.

bufferSize
Int32

Tamaño del búfer. Este valor debe ser mayor o igual que 0.

Atributos

Excepciones

inheritability no está establecido en None o Inheritable.

o bien

bufferSize es menor que 0.

El valor de direction está establecido en InOut.

Comentarios

No se admite un PipeDirection valor de InOut porque las canalizaciones anónimas se definen como unidireccionales.

Este constructor crea un AnonymousPipeServerStream objeto sin seguridad de canalización.

Se aplica a

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Inicializa una nueva instancia de la clase AnonymousPipeServerStream con las características dirección de la canalización, modo de herencia, tamaño de búfer y seguridad de canalización especificadas.

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

Uno de los valores de enumeración que determina la dirección de la canalización.

Las canalizaciones anónimas solo pueden ser en una dirección, por lo que direction no se puede establecer en InOut.

inheritability
HandleInheritability

Uno de los valores de enumeración que determina si los procesos secundarios pueden heredar el identificador subyacente.

bufferSize
Int32

Tamaño del búfer. Este valor debe ser mayor o igual que 0.

pipeSecurity
PipeSecurity

Objeto que determina el control de acceso y la seguridad de auditoría de la canalización.

Atributos

Excepciones

inheritability no está establecido en None o Inheritable.

o bien

bufferSize es menor que 0.

El valor de direction está establecido en InOut.

Comentarios

No se admite un PipeDirection valor de InOut porque las canalizaciones anónimas se definen como unidireccionales.

Se aplica a