AnonymousPipeServerStream Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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()
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)
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)
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)
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)
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é.