AnonymousPipeServerStream Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della classe AnonymousPipeServerStream.
Overload
AnonymousPipeServerStream() |
Inizializza una nuova istanza della classe AnonymousPipeServerStream. |
AnonymousPipeServerStream(PipeDirection) |
Inizializza una nuova istanza della classe AnonymousPipeServerStream con la direzione della pipe specificata. |
AnonymousPipeServerStream(PipeDirection, HandleInheritability) |
Inizializza una nuova istanza della classe AnonymousPipeServerStream con la direzione della pipe e la modalità di ereditarietà specificate. |
AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle) |
Inizializza una nuova istanza della classe AnonymousPipeServerStream dagli handle di pipe specificati. |
AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32) |
Inizializza una nuova istanza della classe AnonymousPipeServerStream con la direzione della pipe, la modalità di ereditarietà e la dimensione di buffer specificate. |
AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity) |
Inizializza una nuova istanza della classe AnonymousPipeServerStream con la direzione della pipe, la modalità di ereditarietà, la dimensione di buffer e la sicurezza della pipe specificate. |
AnonymousPipeServerStream()
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
Inizializza una nuova istanza della classe AnonymousPipeServerStream.
public:
AnonymousPipeServerStream();
public AnonymousPipeServerStream ();
Public Sub New ()
Commenti
Per AnonymousPipeServerStream i costruttori senza un PipeDirection parametro, la direzione predefinita è Out. Un PipeDirection valore di InOut non è supportato perché le pipe anonime sono definite come unidirezionale.
Questo costruttore crea un AnonymousPipeServerStream oggetto con dimensioni del buffer predefinite, nessuna sicurezza della pipe e un HandleInheritability valore di None.
Si applica a
AnonymousPipeServerStream(PipeDirection)
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
Inizializza una nuova istanza della classe AnonymousPipeServerStream con la direzione della pipe specificata.
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)
Parametri
- direction
- PipeDirection
Uno dei valori di enumerazione che determina la direzione della pipe.
Le unnamed pipe possono avere una sola direzione, quindi non è possibile impostare direction
a InOut.
Eccezioni
direction
è impostato su InOut.
Commenti
Un PipeDirection valore di InOut non è supportato perché le pipe anonime sono definite come unidirezionale.
Questo costruttore crea un AnonymousPipeServerStream oggetto con dimensioni del buffer predefinite, nessuna sicurezza della pipe e un HandleInheritability valore di None.
Si applica a
AnonymousPipeServerStream(PipeDirection, HandleInheritability)
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
Inizializza una nuova istanza della classe AnonymousPipeServerStream con la direzione della pipe e la modalità di ereditarietà specificate.
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)
Parametri
- direction
- PipeDirection
Uno dei valori di enumerazione che determina la direzione della pipe.
Le unnamed pipe possono avere una sola direzione, quindi non è possibile impostare direction
a InOut.
- inheritability
- HandleInheritability
Uno dei valori di enumerazione che determina se l'handle sottostante può essere ereditato dai processi figlio. Deve essere impostato a None o Inheritable.
Eccezioni
inheritability
non è impostato su None o su Inheritable.
direction
è impostato su InOut.
Esempio
Nell'esempio seguente viene illustrato un metodo per inviare una stringa da un processo padre a un processo figlio usando pipe anonime. In questo esempio viene creato un AnonymousPipeServerStream oggetto in un processo padre con un PipeDirection valore di 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>
Commenti
Un PipeDirection valore di InOut non è supportato perché le pipe anonime sono definite come unidirezionale.
Questo costruttore crea un AnonymousPipeServerStream oggetto con le dimensioni predefinite del buffer e nessuna sicurezza della pipe.
Si applica a
AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
Inizializza una nuova istanza della classe AnonymousPipeServerStream dagli handle di pipe specificati.
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)
Parametri
- direction
- PipeDirection
Uno dei valori di enumerazione che determina la direzione della pipe.
Le unnamed pipe possono avere una sola direzione, quindi non è possibile impostare direction
a InOut.
- serverSafePipeHandle
- SafePipeHandle
Handle sicuro per la pipe che verrà incapsulata da questo oggetto AnonymousPipeServerStream.
- clientSafePipeHandle
- SafePipeHandle
Handle sicuro per l'oggetto AnonymousPipeClientStream.
- Attributi
Eccezioni
serverSafePipeHandle
è clientSafePipeHandle
o non è un handle valido.
serverSafePipeHandle
o clientSafePipeHandle
è null
.
direction
è impostato su InOut.
Si è verificato un errore di I/O, ad esempio un errore su disco.
-oppure-
Il flusso è stato chiuso.
Commenti
Un PipeDirection valore di InOut non è supportato perché le pipe anonime sono definite come unidirezionale.
Si applica a
AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
- Origine:
- AnonymousPipeServerStream.cs
Inizializza una nuova istanza della classe AnonymousPipeServerStream con la direzione della pipe, la modalità di ereditarietà e la dimensione di buffer specificate.
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)
Parametri
- direction
- PipeDirection
Uno dei valori di enumerazione che determina la direzione della pipe.
Le unnamed pipe possono avere una sola direzione, quindi non è possibile impostare direction
a InOut.
- inheritability
- HandleInheritability
Uno dei valori di enumerazione che determina se l'handle sottostante può essere ereditato dai processi figlio. Deve essere impostato a None o Inheritable.
- bufferSize
- Int32
Dimensione del buffer. Questo valore deve essere uguale o maggiore di 0.
- Attributi
Eccezioni
direction
è impostato su InOut.
Commenti
Un PipeDirection valore di InOut non è supportato perché le pipe anonime sono definite come unidirezionale.
Questo costruttore crea un AnonymousPipeServerStream oggetto senza sicurezza della pipe.
Si applica a
AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)
Inizializza una nuova istanza della classe AnonymousPipeServerStream con la direzione della pipe, la modalità di ereditarietà, la dimensione di buffer e la sicurezza della pipe specificate.
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)
Parametri
- direction
- PipeDirection
Uno dei valori di enumerazione che determina la direzione della pipe.
Le unnamed pipe possono avere una sola direzione, quindi non è possibile impostare direction
a InOut.
- inheritability
- HandleInheritability
Uno dei valori di enumerazione che determina se l'handle sottostante può essere ereditato dai processi figlio.
- bufferSize
- Int32
Dimensione del buffer. Questo valore deve essere uguale o maggiore di 0.
- pipeSecurity
- PipeSecurity
Oggetto che determina il controllo di accesso e la sicurezza di controllo per la pipe.
- Attributi
Eccezioni
direction
è impostato su InOut.
Commenti
Un PipeDirection valore di InOut non è supportato perché le pipe anonime sono definite come unidirezionale.