AnonymousPipeServerStream コンストラクター

定義

AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

オーバーロード

名前 説明
AnonymousPipeServerStream()

AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

AnonymousPipeServerStream(PipeDirection)

指定したパイプ方向を使用して、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

指定したパイプ方向と継承モードを使用して、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

指定したパイプ ハンドルから、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

指定したパイプ方向、継承モード、バッファー サイズを使用して、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

指定したパイプ方向、継承モード、バッファー サイズ、およびパイプ セキュリティを使用して、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

AnonymousPipeServerStream()

ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs

AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

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

注釈

AnonymousPipeServerStream パラメーターのないPipeDirectionコンストラクターの場合、既定の方向はOut。匿名パイプは一方向として定義されているため、PipeDirectionInOut値はサポートされていません。

このコンストラクターは、既定のバッファー サイズ、パイプ セキュリティ、および AnonymousPipeServerStreamHandleInheritability値を持つNone オブジェクトを作成します。

適用対象

AnonymousPipeServerStream(PipeDirection)

ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs

指定したパイプ方向を使用して、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

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)

パラメーター

direction
PipeDirection

パイプの方向を決定する列挙値の 1 つ。

匿名パイプは一方向にのみ使用できるため、 directionInOutに設定することはできません。

例外

directionInOut に設定されます。

注釈

匿名パイプは一方向として定義されているため、PipeDirectionInOut値はサポートされていません。

このコンストラクターは、既定のバッファー サイズ、パイプ セキュリティ、および AnonymousPipeServerStreamHandleInheritability値を持つNone オブジェクトを作成します。

適用対象

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs

指定したパイプ方向と継承モードを使用して、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

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)

パラメーター

direction
PipeDirection

パイプの方向を決定する列挙値の 1 つ。

匿名パイプは一方向にのみ使用できるため、 directionInOutに設定することはできません。

inheritability
HandleInheritability

基になるハンドルを子プロセスによって継承できるかどうかを決定する列挙値の 1 つ。 NoneまたはInheritableに設定する必要があります。

例外

inheritabilityNone または Inheritableに設定されていません。

directionInOut に設定されます。

次の例では、匿名パイプを使用して親プロセスから子プロセスに文字列を送信するメソッドを示します。 この例では、 AnonymousPipeServerStream オブジェクトは、 PipeDirection 値が Out の親プロセスに作成されます。

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

注釈

匿名パイプは一方向として定義されているため、PipeDirectionInOut値はサポートされていません。

このコンストラクターは、既定のバッファー サイズとパイプ セキュリティのない AnonymousPipeServerStream オブジェクトを作成します。

適用対象

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs

指定したパイプ ハンドルから、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

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)

パラメーター

direction
PipeDirection

パイプの方向を決定する列挙値の 1 つ。

匿名パイプは一方向にのみ使用できるため、 directionInOutに設定することはできません。

serverSafePipeHandle
SafePipeHandle

この AnonymousPipeServerStream オブジェクトがカプセル化するパイプの安全なハンドル。

clientSafePipeHandle
SafePipeHandle

AnonymousPipeClientStream オブジェクトの安全なハンドル。

属性

例外

serverSafePipeHandle または clientSafePipeHandle が無効なハンドルです。

serverSafePipeHandle または clientSafePipeHandlenull

directionInOut に設定されます。

ディスク エラーなどの I/O エラーが発生しました。

-又は-

ストリームが閉じられました。

注釈

匿名パイプは一方向として定義されているため、PipeDirectionInOut値はサポートされていません。

適用対象

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs
ソース:
AnonymousPipeServerStream.cs

指定したパイプ方向、継承モード、バッファー サイズを使用して、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

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)

パラメーター

direction
PipeDirection

パイプの方向を決定する列挙値の 1 つ。

匿名パイプは一方向にのみ使用できるため、 directionInOutに設定することはできません。

inheritability
HandleInheritability

基になるハンドルを子プロセスによって継承できるかどうかを決定する列挙値の 1 つ。 NoneまたはInheritableに設定する必要があります。

bufferSize
Int32

バッファーのサイズ。 この値は 0 以上である必要があります。

属性

例外

inheritabilityNone または Inheritableに設定されていません。

-又は-

bufferSize が 0 未満です。

directionInOut に設定されます。

注釈

匿名パイプは一方向として定義されているため、PipeDirectionInOut値はサポートされていません。

このコンストラクターは、パイプ セキュリティなしで AnonymousPipeServerStream オブジェクトを作成します。

適用対象

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32, PipeSecurity)

指定したパイプ方向、継承モード、バッファー サイズ、およびパイプ セキュリティを使用して、 AnonymousPipeServerStream クラスの新しいインスタンスを初期化します。

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)

パラメーター

direction
PipeDirection

パイプの方向を決定する列挙値の 1 つ。

匿名パイプは一方向にのみ使用できるため、 directionInOutに設定することはできません。

inheritability
HandleInheritability

基になるハンドルを子プロセスによって継承できるかどうかを決定する列挙値の 1 つ。

bufferSize
Int32

バッファーのサイズ。 この値は 0 以上である必要があります。

pipeSecurity
PipeSecurity

パイプのアクセス制御と監査セキュリティを決定するオブジェクト。

属性

例外

inheritabilityNone または Inheritableに設定されていません。

-又は-

bufferSize が 0 未満です。

directionInOut に設定されます。

注釈

匿名パイプは一方向として定義されているため、PipeDirectionInOut値はサポートされていません。

適用対象