Sdílet prostřednictvím


AnonymousPipeServerStream Konstruktory

Definice

Inicializuje novou instanci AnonymousPipeServerStream třídy .

Přetížení

AnonymousPipeServerStream()

Inicializuje novou instanci AnonymousPipeServerStream třídy .

AnonymousPipeServerStream(PipeDirection)

Inicializuje novou instanci AnonymousPipeServerStream třídy se zadaným směrem kanálu.

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Inicializuje novou instanci AnonymousPipeServerStream třídy se zadaným směrováním kanálu a režimem dědičnosti.

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Inicializuje novou instanci AnonymousPipeServerStream třídy ze zadaných úchytů kanálu.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Inicializuje novou instanci AnonymousPipeServerStream třídy se zadaným směrováním kanálu, režimem dědičnosti a velikostí vyrovnávací paměti.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Inicializuje novou instanci AnonymousPipeServerStream třídy se zadaným směrováním kanálu, režimem dědičnosti, velikostí vyrovnávací paměti a zabezpečením kanálu.

AnonymousPipeServerStream()

Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs

Inicializuje novou instanci AnonymousPipeServerStream třídy .

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

Poznámky

Pro AnonymousPipeServerStream konstruktory bez parametru PipeDirection je Outvýchozí směr . PipeDirection Hodnota InOut není podporována, protože anonymní kanály jsou definovány jako jednosměrné.

Tento konstruktor vytvoří AnonymousPipeServerStream objekt, který má výchozí velikost vyrovnávací paměti, žádné zabezpečení kanálu a HandleInheritability hodnotu None.

Platí pro

AnonymousPipeServerStream(PipeDirection)

Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs

Inicializuje novou instanci AnonymousPipeServerStream třídy se zadaným směrem kanálu.

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)

Parametry

direction
PipeDirection

Jedna z hodnot výčtu, která určuje směr potrubí.

Anonymní kanály můžou být pouze v jednom směru, takže direction je nelze nastavit na InOuthodnotu .

Výjimky

direction je nastavená na InOuthodnotu .

Poznámky

PipeDirection Hodnota InOut není podporována, protože anonymní kanály jsou definovány jako jednosměrné.

Tento konstruktor vytvoří AnonymousPipeServerStream objekt, který má výchozí velikost vyrovnávací paměti, žádné zabezpečení kanálu a HandleInheritability hodnotu None.

Platí pro

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs

Inicializuje novou instanci AnonymousPipeServerStream třídy se zadaným směrováním kanálu a režimem dědičnosti.

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)

Parametry

direction
PipeDirection

Jedna z hodnot výčtu, která určuje směr potrubí.

Anonymní kanály můžou být pouze v jednom směru, takže direction je nelze nastavit na InOuthodnotu .

inheritability
HandleInheritability

Jedna z hodnot výčtu, která určuje, zda podkladový popisovač může být zděděna podřízenými procesy. Musí být nastavená na nebo NoneInheritable.

Výjimky

inheritability není nastavená na hodnotu ani None na hodnotu nebo Inheritable.

direction je nastavená na InOuthodnotu .

Příklady

Následující příklad ukazuje metodu pro odeslání řetězce z nadřazeného procesu do podřízeného procesu pomocí anonymních kanálů. V tomto příkladu AnonymousPipeServerStream se v nadřazené procesu vytvoří objekt s PipeDirection hodnotou 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>

Poznámky

PipeDirection Hodnota InOut není podporována, protože anonymní kanály jsou definovány jako jednosměrné.

Tento konstruktor vytvoří AnonymousPipeServerStream objekt, který má výchozí velikost vyrovnávací paměti a žádné zabezpečení kanálu.

Platí pro

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs

Inicializuje novou instanci AnonymousPipeServerStream třídy ze zadaných úchytů kanálu.

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)

Parametry

direction
PipeDirection

Jedna z hodnot výčtu, která určuje směr potrubí.

Anonymní kanály můžou být pouze v jednom směru, takže direction je nelze nastavit na InOuthodnotu .

serverSafePipeHandle
SafePipeHandle

Bezpečný úchyt pro potrubí, který tento AnonymousPipeServerStream objekt zapouzdřuje.

clientSafePipeHandle
SafePipeHandle

Bezpečný úchyt objektu AnonymousPipeClientStream .

Atributy

Výjimky

serverSafePipeHandle nebo clientSafePipeHandle je neplatný popisovač.

serverSafePipeHandle nebo clientSafePipeHandle je null.

direction je nastavená na InOuthodnotu .

Došlo k vstupně-výstupní chybě, například k chybě disku.

-nebo-

Datový proud byl uzavřen.

Poznámky

PipeDirection Hodnota InOut není podporována, protože anonymní kanály jsou definovány jako jednosměrné.

Platí pro

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs
Zdroj:
AnonymousPipeServerStream.cs

Inicializuje novou instanci AnonymousPipeServerStream třídy se zadaným směrováním kanálu, režimem dědičnosti a velikostí vyrovnávací paměti.

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)

Parametry

direction
PipeDirection

Jedna z hodnot výčtu, která určuje směr potrubí.

Anonymní kanály můžou být pouze v jednom směru, takže direction je nelze nastavit na InOuthodnotu .

inheritability
HandleInheritability

Jedna z hodnot výčtu, která určuje, zda podkladový popisovač může být zděděna podřízenými procesy. Musí být nastavená na nebo NoneInheritable.

bufferSize
Int32

Velikost vyrovnávací paměti. Tato hodnota musí být větší nebo rovna 0.

Atributy

Výjimky

inheritability není nastavená na hodnotu ani None na hodnotu nebo Inheritable.

-nebo-

bufferSize je menší než 0.

direction je nastavená na InOuthodnotu .

Poznámky

PipeDirection Hodnota InOut není podporována, protože anonymní kanály jsou definovány jako jednosměrné.

Tento konstruktor vytvoří AnonymousPipeServerStream objekt bez zabezpečení kanálu.

Platí pro

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Inicializuje novou instanci AnonymousPipeServerStream třídy se zadaným směrováním kanálu, režimem dědičnosti, velikostí vyrovnávací paměti a zabezpečením kanálu.

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)

Parametry

direction
PipeDirection

Jedna z hodnot výčtu, která určuje směr potrubí.

Anonymní kanály můžou být pouze v jednom směru, takže direction je nelze nastavit na InOuthodnotu .

inheritability
HandleInheritability

Jedna z hodnot výčtu, která určuje, zda podkladový popisovač může být zděděna podřízenými procesy.

bufferSize
Int32

Velikost vyrovnávací paměti. Tato hodnota musí být větší nebo rovna 0.

pipeSecurity
PipeSecurity

Objekt, který určuje řízení přístupu a audit zabezpečení kanálu.

Atributy

Výjimky

inheritability není nastavená na hodnotu ani None na hodnotu nebo Inheritable.

-nebo-

bufferSize je menší než 0.

direction je nastavená na InOuthodnotu .

Poznámky

PipeDirection Hodnota InOut není podporována, protože anonymní kanály jsou definovány jako jednosměrné.

Platí pro