Udostępnij za pośrednictwem


AnonymousPipeServerStream Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy AnonymousPipeServerStream.

Przeciążenia

AnonymousPipeServerStream()

Inicjuje nowe wystąpienie klasy AnonymousPipeServerStream.

AnonymousPipeServerStream(PipeDirection)

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonym kierunkiem potoku.

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonym kierunkiem potoku i trybem dziedziczenia.

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonych uchwytów potoku.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonym kierunkiem potoku, trybem dziedziczenia i rozmiarem buforu.

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonym kierunkiem potoku, trybem dziedziczenia, rozmiarem buforu i zabezpieczeniami potoku.

AnonymousPipeServerStream()

Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs

Inicjuje nowe wystąpienie klasy AnonymousPipeServerStream.

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

Uwagi

W przypadku AnonymousPipeServerStream konstruktorów bez parametru domyślnym kierunkiem PipeDirection jest Out. PipeDirection Wartość nie jest obsługiwana InOut , ponieważ potoki anonimowe są definiowane jako jednokierunkowe.

Ten konstruktor tworzy AnonymousPipeServerStream obiekt, który ma domyślny rozmiar buforu, bez zabezpieczeń potoku i HandleInheritability wartość None.

Dotyczy

AnonymousPipeServerStream(PipeDirection)

Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonym kierunkiem potoku.

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 wartości wyliczenia, która określa kierunek potoku.

Potoki anonimowe mogą być tylko w jednym kierunku, więc direction nie można ustawić wartości InOut.

Wyjątki

direction jest ustawiona na InOutwartość .

Uwagi

PipeDirection Wartość nie jest obsługiwanaInOut, ponieważ potoki anonimowe są definiowane jako jednokierunkowe.

Ten konstruktor tworzy AnonymousPipeServerStream obiekt, który ma domyślny rozmiar buforu, bez zabezpieczeń potoku i HandleInheritability wartość None.

Dotyczy

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonym kierunkiem potoku i trybem dziedziczenia.

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 wartości wyliczenia, która określa kierunek potoku.

Potoki anonimowe mogą być tylko w jednym kierunku, więc direction nie można ustawić wartości InOut.

inheritability
HandleInheritability

Jedna z wartości wyliczenia, która określa, czy bazowy uchwyt może być dziedziczony przez procesy podrzędne. Musi być ustawiona na None wartość lub Inheritable.

Wyjątki

inheritability nie jest ustawiona na None wartość lub Inheritable.

direction jest ustawiona na InOutwartość .

Przykłady

W poniższym przykładzie pokazano metodę wysyłania ciągu z procesu nadrzędnego do procesu podrzędnego przy użyciu potoków anonimowych. W tym przykładzie AnonymousPipeServerStream obiekt jest tworzony w procesie nadrzędnym z wartością PipeDirectionOut.

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

Uwagi

PipeDirection Wartość nie jest obsługiwanaInOut, ponieważ potoki anonimowe są definiowane jako jednokierunkowe.

Ten konstruktor tworzy AnonymousPipeServerStream obiekt, który ma domyślny rozmiar buforu i nie ma zabezpieczeń potoku.

Dotyczy

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonych uchwytów potoku.

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 wartości wyliczenia, która określa kierunek potoku.

Potoki anonimowe mogą być tylko w jednym kierunku, więc direction nie można ustawić wartości InOut.

serverSafePipeHandle
SafePipeHandle

Bezpieczny uchwyt dla potoku, który ten AnonymousPipeServerStream obiekt będzie hermetyzować.

clientSafePipeHandle
SafePipeHandle

Bezpieczny uchwyt dla AnonymousPipeClientStream obiektu.

Atrybuty

Wyjątki

serverSafePipeHandle lub clientSafePipeHandle jest nieprawidłowym uchwytem.

serverSafePipeHandle lub clientSafePipeHandle to null.

direction jest ustawiona na InOutwartość .

Wystąpił błąd we/wy, taki jak błąd dysku.

-lub-

Strumień został zamknięty.

Uwagi

PipeDirection Wartość nie jest obsługiwanaInOut, ponieważ potoki anonimowe są definiowane jako jednokierunkowe.

Dotyczy

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs
Źródło:
AnonymousPipeServerStream.cs

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonym kierunkiem potoku, trybem dziedziczenia i rozmiarem buforu.

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 wartości wyliczenia, która określa kierunek potoku.

Potoki anonimowe mogą być tylko w jednym kierunku, więc direction nie można ustawić wartości InOut.

inheritability
HandleInheritability

Jedna z wartości wyliczenia, która określa, czy bazowy uchwyt może być dziedziczony przez procesy podrzędne. Musi być ustawiona na None wartość lub Inheritable.

bufferSize
Int32

Rozmiar buforu. Ta wartość musi być większa lub równa 0.

Atrybuty

Wyjątki

inheritability nie jest ustawiona na None wartość lub Inheritable.

-lub-

bufferSize wartość jest mniejsza niż 0.

direction jest ustawiona na InOutwartość .

Uwagi

PipeDirection Wartość nie jest obsługiwanaInOut, ponieważ potoki anonimowe są definiowane jako jednokierunkowe.

Ten konstruktor tworzy AnonymousPipeServerStream obiekt bez zabezpieczeń potoku.

Dotyczy

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

Inicjuje AnonymousPipeServerStream nowe wystąpienie klasy z określonym kierunkiem potoku, trybem dziedziczenia, rozmiarem buforu i zabezpieczeniami potoku.

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 wartości wyliczenia, która określa kierunek potoku.

Potoki anonimowe mogą być tylko w jednym kierunku, więc direction nie można ustawić wartości InOut.

inheritability
HandleInheritability

Jedna z wartości wyliczenia, która określa, czy bazowy uchwyt może być dziedziczony przez procesy podrzędne.

bufferSize
Int32

Rozmiar buforu. Ta wartość musi być większa lub równa 0.

pipeSecurity
PipeSecurity

Obiekt, który określa zabezpieczenia kontroli dostępu i inspekcji potoku.

Atrybuty

Wyjątki

inheritability nie jest ustawiona na None wartość lub Inheritable.

-lub-

bufferSize wartość jest mniejsza niż 0.

direction jest ustawiona na InOutwartość .

Uwagi

PipeDirection Wartość nie jest obsługiwanaInOut, ponieważ potoki anonimowe są definiowane jako jednokierunkowe.

Dotyczy