NamedPipeServerStream クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
同期および非同期の読み書き操作をサポートする名前付きパイプに関連する Stream を公開します。
public ref class NamedPipeServerStream sealed : System::IO::Pipes::PipeStream
public sealed class NamedPipeServerStream : System.IO.Pipes.PipeStream
type NamedPipeServerStream = class
inherit PipeStream
Public NotInheritable Class NamedPipeServerStream
Inherits PipeStream
- 継承
- 継承
例
次の例では、名前付きパイプを使用して、親プロセスから同じコンピューター上の子プロセスに文字列を送信する方法を示します。 この例では、 の値OutをNamedPipeServerStream使用して親プロセスに オブジェクトをPipeDirection作成します。その後、サーバーは子プロセス内のオブジェクトがそれに接続するのを待機NamedPipeClientStreamします。 この例では、両方のプロセスが同じコンピューター上にあり、オブジェクトの NamedPipeClientStream 値は PipeDirection です In。 次に、親プロセスはユーザー指定の文字列を子プロセスに送信します。 文字列がコンソールに表示されます。
この例は、 クラスを使用するサーバー プロセス用 NamedPipeServerStream です。 パイプ クライアントとサーバーの両方のコードを含むコード例全体については、「 方法: ネットワーク間通信に名前付きパイプを使用する」を参照してください。
using System;
using System.IO;
using System.IO.Pipes;
class PipeServer
{
static void Main()
{
using (NamedPipeServerStream pipeServer =
new NamedPipeServerStream("testpipe", PipeDirection.Out))
{
Console.WriteLine("NamedPipeServerStream object created.");
// Wait for a client to connect
Console.Write("Waiting for client connection...");
pipeServer.WaitForConnection();
Console.WriteLine("Client connected.");
try
{
// Read user input and send that to the client process.
using (StreamWriter sw = new StreamWriter(pipeServer))
{
sw.AutoFlush = true;
Console.Write("Enter text: ");
sw.WriteLine(Console.ReadLine());
}
}
// Catch the IOException that is raised if the pipe is broken
// or disconnected.
catch (IOException e)
{
Console.WriteLine("ERROR: {0}", e.Message);
}
}
}
}
Imports System.IO
Imports System.IO.Pipes
Class PipeServer
Shared Sub Main()
Dim pipeServer As New NamedPipeServerStream("testpipe", PipeDirection.Out)
Console.WriteLine("NamedPipeServerStream object created.")
' Wait for a client to connect
Console.Write("Waiting for a client connection...")
pipeServer.WaitForConnection()
Console.WriteLine("Client connected.")
Try
'Read user input and send that to the client process.
Dim sw As New StreamWriter(pipeServer)
sw.AutoFlush = True
Console.Write("Enter Text: ")
sw.WriteLine(Console.ReadLine())
Catch ex As IOException
' Catch the IOException that is raised if the pipe is broken
' or disconnected
Console.WriteLine("ERROR: {0}", ex.Message)
End Try
End Sub
End Class
注釈
名前付きパイプは、パイプ サーバーと 1 つ以上のパイプ クライアント間の通信に一方向または二重パイプを提供します。 名前付きパイプは、ローカルまたはネットワーク経由のプロセス間通信に使用できます。 1 つのパイプ名を複数の NamedPipeClientStream オブジェクトで共有できます。
任意のプロセスは、名前付きパイプ サーバーまたはクライアント、またはその両方として機能できます。
コンストラクター
フィールド
MaxAllowedServerInstances |
システム リソースで許されるサーバー インスタンスの最大数を表します。 |
プロパティ
CanRead |
現在のストリームが読み取り操作をサポートしているかどうかを示す値を取得します。 (継承元 PipeStream) |
CanSeek |
現在のストリームがシーク操作をサポートしているかどうかを示す値を取得します。 (継承元 PipeStream) |
CanTimeout |
現在のストリームがタイムアウトできるかどうかを決定する値を取得します。 (継承元 Stream) |
CanWrite |
現在のストリームが書き込み操作をサポートしているかどうかを示す値を取得します。 (継承元 PipeStream) |
InBufferSize |
パイプの着信バッファーのサイズ (バイト単位) を取得します。 (継承元 PipeStream) |
IsAsync |
PipeStream オブジェクトが非同期的に開かれたか、同期的に開かれたかを示す値を取得します。 (継承元 PipeStream) |
IsConnected |
PipeStream オブジェクトが接続されているかどうかを示す値を取得または設定します。 (継承元 PipeStream) |
IsHandleExposed |
PipeStream オブジェクトのハンドルが公開されているかどうかを示す値を取得します。 (継承元 PipeStream) |
IsMessageComplete |
最後に実行された読み取り操作から返されたメッセージに他のデータが存在するかどうかを示す値を取得します。 (継承元 PipeStream) |
Length |
ストリーム長 (バイト単位) を取得します。 (継承元 PipeStream) |
OutBufferSize |
パイプの発信バッファーのサイズ (バイト単位) を取得します。 (継承元 PipeStream) |
Position |
現在のストリームの現在位置を取得または設定します。 (継承元 PipeStream) |
ReadMode |
PipeStream オブジェクトの読み取りモードを取得または設定します。 (継承元 PipeStream) |
ReadTimeout |
ストリームがタイムアウト前に読み取りを試みる期間を決定する値 (ミリ秒単位) を取得または設定します。 (継承元 Stream) |
SafePipeHandle |
現在の PipeStream オブジェクトによってカプセル化されるパイプのローカルの終端のセーフ ハンドルを取得します。 (継承元 PipeStream) |
TransmissionMode |
現在のパイプでサポートされるパイプ送信モードを取得します。 (継承元 PipeStream) |
WriteTimeout |
ストリームがタイムアウト前に書き込みを試行する期間を決定する値 (ミリ秒単位) を取得または設定します。 (継承元 Stream) |
メソッド
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
非同期の読み込み動作を開始します。 (継承元 PipeStream) |
BeginWaitForConnection(AsyncCallback, Object) |
クライアントが接続するのを待機する非同期操作を開始します。 |
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
非同期の書き込み操作を開始します。 (継承元 PipeStream) |
CheckPipePropertyOperations() |
パイプがプロパティの取得または設定に対して適切な状態にあることを確認します。 (継承元 PipeStream) |
CheckReadOperations() |
パイプが読み取り操作に対して接続状態にあることを確認します。 (継承元 PipeStream) |
CheckWriteOperations() |
パイプが書き込み操作に対して接続状態にあることを確認します。 (継承元 PipeStream) |
Close() |
現在のストリームを閉じ、現在のストリームに関連付けられているすべてのリソース (ソケット、ファイル ハンドルなど) を解放します。 このメソッドを呼び出す代わりに、ストリームが適切に破棄されていることを確認します。 (継承元 Stream) |
CopyTo(Stream) |
現在のストリームからバイトを読み取り、別のストリームに書き込みます。 どちらのストリーム位置も、コピーされたバイト数だけ進みます。 (継承元 Stream) |
CopyTo(Stream, Int32) |
指定されたバッファー サイズを使用して、現在のストリームからバイトを読み取り、別のストリームに書き込みます。 どちらのストリーム位置も、コピーされたバイト数だけ進みます。 (継承元 Stream) |
CopyToAsync(Stream) |
現在のストリームからすべてのバイトを非同期に読み取り、別のストリームに書き込みます。 どちらのストリーム位置も、コピーされたバイト数だけ進みます。 (継承元 Stream) |
CopyToAsync(Stream, CancellationToken) |
指定されたバッファー サイズを使用して、現在のストリームからバイトを非同期に読み取り、指定されたキャンセル トークンを使用して、別のストリームに書き込みます。 どちらのストリーム位置も、コピーされたバイト数だけ進みます。 (継承元 Stream) |
CopyToAsync(Stream, Int32) |
指定されたバッファー サイズを使用して、現在のストリームからバイトを非同期に読み取り、別のストリームに書き込みます。 どちらのストリーム位置も、コピーされたバイト数だけ進みます。 (継承元 Stream) |
CopyToAsync(Stream, Int32, CancellationToken) |
指定されたバッファー サイズを使用して、現在のストリームからバイトを非同期に読み取り、指定されたバッファー サイズとキャンセル トークンを使用して、別のストリームに書き込みます。 どちらのストリーム位置も、コピーされたバイト数だけ進みます。 (継承元 Stream) |
CreateObjRef(Type) |
リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (継承元 MarshalByRefObject) |
CreateWaitHandle() |
古い.
古い.
古い.
WaitHandle オブジェクトを割り当てます。 (継承元 Stream) |
Disconnect() |
現在の接続を切断します。 |
Dispose() |
Stream によって使用されているすべてのリソースを解放します。 (継承元 Stream) |
Dispose(Boolean) |
PipeStream クラスによって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。 (継承元 PipeStream) |
DisposeAsync() |
Stream によって使用されているアンマネージ リソースを非同期に解放します。 (継承元 Stream) |
EndRead(IAsyncResult) |
非同期読み込み要求の保留状態を終了します。 (継承元 PipeStream) |
EndWaitForConnection(IAsyncResult) |
クライアントが接続するのを待機する非同期操作を終了します。 |
EndWrite(IAsyncResult) |
保留中の非同期書き込み要求を終了します。 (継承元 PipeStream) |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Finalize() |
NamedPipeServerStream インスタンスがガベージ コレクションによって回収される前に、アンマネージ リソースを解放し、その他のクリーンアップ操作を実行します。 |
Flush() |
現在のストリームに対応するバッファーをクリアし、バッファー内のすべてのデータを、基になるデバイスに書き込みます。 (継承元 PipeStream) |
FlushAsync() |
ストリームに対応するすべてのバッファーを非同期にクリアし、バッファー内のデータを基になるデバイスに書き込みます。 (継承元 Stream) |
FlushAsync(CancellationToken) |
現在のストリームに対するバッファーを非同期にクリアし、バッファー内のすべてのデータを基になるデバイスに書き込みます。 (継承元 PipeStream) |
GetAccessControl() |
現在の PipeStream オブジェクトが示すパイプのアクセス制御リスト (ACL) エントリをカプセル化する PipeSecurity オブジェクトを取得します。 (継承元 PipeStream) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetImpersonationUserName() |
パイプのもう一方の終端のクライアントのユーザー名を取得します。 |
GetLifetimeService() |
古い.
対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (継承元 MarshalByRefObject) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
InitializeHandle(SafePipeHandle, Boolean, Boolean) |
指定した PipeStream オブジェクトから、SafePipeHandle オブジェクトを初期化します。 (継承元 PipeStream) |
InitializeLifetimeService() |
古い.
このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。 (継承元 MarshalByRefObject) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
MemberwiseClone(Boolean) |
現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。 (継承元 MarshalByRefObject) |
ObjectInvariant() |
古い.
Contract のサポートを提供します。 (継承元 Stream) |
Read(Byte[], Int32, Int32) |
ストリームからバイトのブロックを読み取り、指定した長さの指定した位置を開始位置として、指定したバッファーにデータを書き込みます。 (継承元 PipeStream) |
Read(Span<Byte>) |
現在のストリームからバイト シーケンスを読み取り、バイト配列に書き込んで、読み取ったバイト数だけストリーム内の位置を進めます。 (継承元 PipeStream) |
ReadAsync(Byte[], Int32, Int32) |
現在のストリームからバイト シーケンスを非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進めます。 (継承元 Stream) |
ReadAsync(Byte[], Int32, Int32, CancellationToken) |
現在のストリームからバイト シーケンスを、指定したバイト数の指定した位置を開始位置としてバイト配列に非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進め、キャンセル要求を監視します。 (継承元 PipeStream) |
ReadAsync(Memory<Byte>, CancellationToken) |
現在のストリームからバイト シーケンスを非同期に読み取り、バイト メモリの範囲に書き込んで、読み取ったバイト数だけストリーム内の位置を進め、キャンセル要求を監視します。 (継承元 PipeStream) |
ReadAtLeast(Span<Byte>, Int32, Boolean) |
現在のストリームから少なくともバイト数を読み取り、ストリーム内の位置を読み取ったバイト数だけ進めます。 (継承元 Stream) |
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
現在のストリームから少なくとも最小バイト数を非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進め、キャンセル要求を監視します。 (継承元 Stream) |
ReadByte() |
パイプからバイトを読み取ります。 (継承元 PipeStream) |
ReadExactly(Byte[], Int32, Int32) |
現在のストリームからバイト数を読み取 |
ReadExactly(Span<Byte>) |
現在のストリームからバイトを読み取り、 が塗りつぶされるまでストリーム内の位置を |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
現在のストリームからバイト数を非同期に読み取 |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
現在のストリームからバイトを非同期に読み取り、 が満たされるまでストリーム内の位置を |
RunAsClient(PipeStreamImpersonationWorker) |
クライアントの偽装中にデリゲートを呼び出します。 |
Seek(Int64, SeekOrigin) |
現在のストリームの現在位置を、指定した値に設定します。 (継承元 PipeStream) |
SetAccessControl(PipeSecurity) |
PipeSecurity オブジェクトで指定されたアクセス制御リスト (ACL) エントリを、現在の PipeStream オブジェクトで指定されたパイプに適用します。 (継承元 PipeStream) |
SetLength(Int64) |
現在のストリーム長を指定した値に設定します。 (継承元 PipeStream) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
WaitForConnection() |
クライアントがこの NamedPipeServerStream オブジェクトに接続するのを待機します。 |
WaitForConnectionAsync() |
クライアントがこの NamedPipeServerStream オブジェクトに接続するのを非同期に待機します。 |
WaitForConnectionAsync(CancellationToken) |
クライアントがこの NamedPipeServerStream オブジェクトに接続するのを非同期に待機し、キャンセル要求を監視します。 |
WaitForPipeDrain() |
パイプのもう一方の終端が、送信されたすべてのバイトを読み取るまで待機します。 (継承元 PipeStream) |
Write(Byte[], Int32, Int32) |
バッファーのデータを使用して、現在のストリームにバイトのブロックを書き込みます。 (継承元 PipeStream) |
Write(ReadOnlySpan<Byte>) |
現在のストリームにバイト シーケンスを書き込み、書き込んだバイト数だけストリーム内の現在位置を進めます。 (継承元 PipeStream) |
WriteAsync(Byte[], Int32, Int32) |
現在のストリームにバイト シーケンスを非同期に書き込み、書き込んだバイト数だけストリーム内の現在位置を進めます。 (継承元 Stream) |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
指定した位置を開始位置としてバイト配列から指定したバイト数を非同期に書き込み、書き込んだバイト数だけこのストリーム内の現在の位置を進め、キャンセル要求を監視します。 (継承元 PipeStream) |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
現在のストリームにバイト シーケンスを非同期に書き込み、書き込んだバイト数だけストリーム内の現在位置を進め、キャンセル要求を監視します。 (継承元 PipeStream) |
WriteByte(Byte) |
現在のストリームにバイトを書き込みます。 (継承元 PipeStream) |
拡張メソッド
CopyToAsync(Stream, PipeWriter, CancellationToken) |
キャンセル トークンを使用して、Stream からバイトを非同期で読み取り、指定した PipeWriter に書き込みます。 |
GetAccessControl(PipeStream) |
パイプ ストリームのセキュリティ情報を返します。 |
SetAccessControl(PipeStream, PipeSecurity) |
既存のパイプ ストリームのセキュリティ属性を変更します。 |
ConfigureAwait(IAsyncDisposable, Boolean) |
非同期の破棄可能から返されるタスク上での待機がどのように実行されるかを構成します。 |
適用対象
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示