言語

AnonymousPipeClientStream コンストラクター

定義

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

オーバーロード

名前 説明
AnonymousPipeClientStream(String)

パイプ ハンドルの指定した文字列表現を使用して、 AnonymousPipeClientStream クラスの新しいインスタンスを初期化します。

AnonymousPipeClientStream(PipeDirection, SafePipeHandle)

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

AnonymousPipeClientStream(PipeDirection, String)

指定したパイプ方向とパイプ ハンドルの文字列表現を使用して、 AnonymousPipeClientStream クラスの新しいインスタンスを初期化します。

AnonymousPipeClientStream(String)

ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs

パイプ ハンドルの指定した文字列表現を使用して、 AnonymousPipeClientStream クラスの新しいインスタンスを初期化します。

public:
 AnonymousPipeClientStream(System::String ^ pipeHandleAsString);
public AnonymousPipeClientStream(string pipeHandleAsString);
new System.IO.Pipes.AnonymousPipeClientStream : string -> System.IO.Pipes.AnonymousPipeClientStream
Public Sub New (pipeHandleAsString As String)

パラメーター

pipeHandleAsString
String

パイプ ハンドルを表す文字列。

例外

pipeHandleAsString が有効なパイプ ハンドルではありません。

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

using System;
using System.IO;
using System.IO.Pipes;

class PipeClient
{
    static void Main(string[] args)
    {
        if (args.Length > 0)
        {
            using (PipeStream pipeClient =
                new AnonymousPipeClientStream(args[0]))
            {

                Console.WriteLine("Current TransmissionMode: {0}.",
                   pipeClient.TransmissionMode);

                // Anonymous Pipes do not support Message mode.
                try
                {
                    Console.WriteLine("Setting ReadMode to \"Message\".");
                    pipeClient.ReadMode = PipeTransmissionMode.Message;
                }
                catch (NotSupportedException e)
                {
                    Console.WriteLine("EXCEPTION: {0}", e.Message);
                }

                using (StreamReader sr = new StreamReader(pipeClient))
                {
                    // Display the read text to the console
                    string temp;
                    while ((temp = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(temp);
                    }
                }
            }
        }
        Console.Write("Press Enter to continue...");
        Console.ReadLine();
    }
}
Imports System.IO
Imports System.IO.Pipes

Class PipeClient

    Shared Sub Main(ByVal args As String())
        If (args.Length > 0) Then

            Using pipeClient As New AnonymousPipeClientStream(args(0))

                Console.WriteLine("Current TransmissionMode: {0}.", _
                   pipeClient.TransmissionMode)

                ' Anonymous Pipes do not support Message mode.
                Try
                    Console.WriteLine("Setting ReadMode to 'Message'.")
                    pipeClient.ReadMode = PipeTransmissionMode.Message
                Catch e As NotSupportedException
                    Console.WriteLine("EXCEPTION: {0}", e.Message)
                End Try

                Using sr As New StreamReader(pipeClient)

                    ' Display the read text to the console
                    Dim temp As String
                    temp = sr.ReadLine()
                    While Not temp = Nothing
                        Console.WriteLine(temp)
                        temp = sr.ReadLine()
                    End While
                End Using
            End Using
        End If
        Console.Write("Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class

注釈

PipeDirection パラメーターのないコンストラクターの場合、既定の方向はIn

適用対象

AnonymousPipeClientStream(PipeDirection, SafePipeHandle)

ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs

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

public:
 AnonymousPipeClientStream(System::IO::Pipes::PipeDirection direction, Microsoft::Win32::SafeHandles::SafePipeHandle ^ safePipeHandle);
public AnonymousPipeClientStream(System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle);
[System.Security.SecurityCritical]
public AnonymousPipeClientStream(System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle safePipeHandle);
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeClientStream
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * Microsoft.Win32.SafeHandles.SafePipeHandle -> System.IO.Pipes.AnonymousPipeClientStream
Public Sub New (direction As PipeDirection, safePipeHandle As SafePipeHandle)

パラメーター

direction
PipeDirection

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

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

safePipeHandle
SafePipeHandle

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

属性

例外

safePipeHandle は有効なハンドルではありません。

safePipeHandlenullです。

directionInOut に設定されます。

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

-又は-

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

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

using System;
using System.IO;
using System.IO.Pipes;

class PipeClient
{
    static void Main(string[] args)
    {
        if (args.Length > 0)
        {
            using (PipeStream pipeClient =
                new AnonymousPipeClientStream(args[0]))
            {

                Console.WriteLine("Current TransmissionMode: {0}.",
                   pipeClient.TransmissionMode);

                // Anonymous Pipes do not support Message mode.
                try
                {
                    Console.WriteLine("Setting ReadMode to \"Message\".");
                    pipeClient.ReadMode = PipeTransmissionMode.Message;
                }
                catch (NotSupportedException e)
                {
                    Console.WriteLine("EXCEPTION: {0}", e.Message);
                }

                using (StreamReader sr = new StreamReader(pipeClient))
                {
                    // Display the read text to the console
                    string temp;
                    while ((temp = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(temp);
                    }
                }
            }
        }
        Console.Write("Press Enter to continue...");
        Console.ReadLine();
    }
}
Imports System.IO
Imports System.IO.Pipes

Class PipeClient

    Shared Sub Main(ByVal args As String())
        If (args.Length > 0) Then

            Using pipeClient As New AnonymousPipeClientStream(args(0))

                Console.WriteLine("Current TransmissionMode: {0}.", _
                   pipeClient.TransmissionMode)

                ' Anonymous Pipes do not support Message mode.
                Try
                    Console.WriteLine("Setting ReadMode to 'Message'.")
                    pipeClient.ReadMode = PipeTransmissionMode.Message
                Catch e As NotSupportedException
                    Console.WriteLine("EXCEPTION: {0}", e.Message)
                End Try

                Using sr As New StreamReader(pipeClient)

                    ' Display the read text to the console
                    Dim temp As String
                    temp = sr.ReadLine()
                    While Not temp = Nothing
                        Console.WriteLine(temp)
                        temp = sr.ReadLine()
                    End While
                End Using
            End Using
        End If
        Console.Write("Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class

注釈

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

適用対象

AnonymousPipeClientStream(PipeDirection, String)

ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs
ソース:
AnonymousPipeClientStream.cs

指定したパイプ方向とパイプ ハンドルの文字列表現を使用して、 AnonymousPipeClientStream クラスの新しいインスタンスを初期化します。

public:
 AnonymousPipeClientStream(System::IO::Pipes::PipeDirection direction, System::String ^ pipeHandleAsString);
public AnonymousPipeClientStream(System.IO.Pipes.PipeDirection direction, string pipeHandleAsString);
[System.Security.SecurityCritical]
public AnonymousPipeClientStream(System.IO.Pipes.PipeDirection direction, string pipeHandleAsString);
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * string -> System.IO.Pipes.AnonymousPipeClientStream
[<System.Security.SecurityCritical>]
new System.IO.Pipes.AnonymousPipeClientStream : System.IO.Pipes.PipeDirection * string -> System.IO.Pipes.AnonymousPipeClientStream
Public Sub New (direction As PipeDirection, pipeHandleAsString As String)

パラメーター

direction
PipeDirection

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

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

pipeHandleAsString
String

パイプ ハンドルを表す文字列。

属性

例外

pipeHandleAsString は無効なハンドルです。

pipeHandleAsStringnullです。

directionInOut に設定されます。

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

//<snippet01>
using System;
using System.IO;
using System.IO.Pipes;

class PipeClient
{
    static void Main(string[] args)
    {
        if (args.Length > 0)
        {
            using (PipeStream pipeClient =
                new AnonymousPipeClientStream(PipeDirection.In, args[0]))
            {
                Console.WriteLine("[CLIENT] Current TransmissionMode: {0}.",
                   pipeClient.TransmissionMode);

                using (StreamReader sr = new StreamReader(pipeClient))
                {
                    // Display the read text to the console
                    string temp;

                    // Wait for 'sync message' from the server.
                    do
                    {
                        Console.WriteLine("[CLIENT] Wait for sync...");
                        temp = sr.ReadLine();
                    }
                    while (!temp.StartsWith("SYNC"));

                    // Read the server data and echo to the console.
                    while ((temp = sr.ReadLine()) != null)
                    {
                        Console.WriteLine("[CLIENT] Echo: " + temp);
                    }
                }
            }
        }
        Console.Write("[CLIENT] Press Enter to continue...");
        Console.ReadLine();
    }
}
//</snippet01>
'<snippet01>
Imports System.IO
Imports System.IO.Pipes

Class PipeClient
    Shared Sub Main(args() as String)
        If args.Length > 0 Then
            Using pipeClient As New AnonymousPipeClientStream(PipeDirection.In, args(0))
                Console.WriteLine("[CLIENT] Current TransmissionMode: {0}.", _
                   pipeClient.TransmissionMode)

                Using sr As New StreamReader(pipeClient)
                    ' Display the read text to the console
                    Dim temp As String

                    ' Wait for 'sync message' from the server.
                    Do
                        Console.WriteLine("[CLIENT] Wait for sync...")
                        temp = sr.ReadLine()
                    Loop While temp.StartsWith("SYNC") = False

                    ' Read the server data and echo to the console.
                    temp = sr.ReadLine()
                    While Not temp = Nothing
                        Console.WriteLine("[CLIENT] Echo: " + temp)
                        temp = sr.ReadLine()
                    End While
                End Using
            End Using
        End If
        Console.Write("[CLIENT] Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class
'</snippet01>

注釈

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

適用対象