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 クラスの新しいインスタンスを初期化します。

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

注釈

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

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

適用対象

AnonymousPipeServerStream(PipeDirection)

ソース:
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 に設定されます。

注釈

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

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

適用対象

AnonymousPipeServerStream(PipeDirection, HandleInheritability)

ソース:
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 のどちらかに設定する必要があります。

例外

inheritability は、None にも Inheritable にも設定されていません。

directionInOut に設定されます。

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

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

注釈

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

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

適用対象

AnonymousPipeServerStream(PipeDirection, SafePipeHandle, SafePipeHandle)

ソース:
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 エラーが発生しました。

- または -

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

注釈

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

適用対象

AnonymousPipeServerStream(PipeDirection, HandleInheritability, Int32)

ソース:
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 以上である必要があります。

属性

例外

inheritability は、None にも Inheritable にも設定されていません。

- または -

bufferSize が 0 未満です。

directionInOut に設定されます。

注釈

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

このコンストラクターは、パイプ セキュリティなしで オブジェクトを 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

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

属性

例外

inheritability は、None にも Inheritable にも設定されていません。

- または -

bufferSize が 0 未満です。

directionInOut に設定されます。

注釈

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

適用対象