NegotiateStream.BeginRead メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > NegotiateStream.BeginRead メソッドの意味・解説 

NegotiateStream.BeginRead メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

ストリームからデータを読み取り、指定した配列に格納する非同期読み取り操作を開始します。

名前空間: System.Net.Security
アセンブリ: System (system.dll 内)
構文構文

Public Overrides Function
 BeginRead ( _
    buffer As Byte(), _
    offset As Integer, _
    count As Integer, _
    asyncCallback As AsyncCallback, _
    asyncState As Object _
) As IAsyncResult
Dim instance As NegotiateStream
Dim buffer As Byte()
Dim offset As Integer
Dim count As Integer
Dim asyncCallback As AsyncCallback
Dim asyncState As Object
Dim returnValue As IAsyncResult

returnValue = instance.BeginRead(buffer, offset, count, asyncCallback, asyncState)
public override IAsyncResult BeginRead (
    byte[] buffer,
    int offset,
    int count,
    AsyncCallback asyncCallback,
    Object asyncState
)
public:
virtual IAsyncResult^ BeginRead (
    array<unsigned char>^ buffer, 
    int offset, 
    int count, 
    AsyncCallback^ asyncCallback, 
    Object^ asyncState
) override
public IAsyncResult BeginRead (
    byte[] buffer, 
    int offset, 
    int count, 
    AsyncCallback asyncCallback, 
    Object asyncState
)
public override function BeginRead (
    buffer : byte[], 
    offset : int, 
    count : int, 
    asyncCallback : AsyncCallback, 
    asyncState : Object
) : IAsyncResult

パラメータ

buffer

ストリームから読み取ったバイトを受け取る Byte 配列。

offset

このストリームから読み取ったデータの格納を開始する位置を示す、buffer 内のインデックス番号が 0 から始まる位置。

count

ストリームから読み取る最大バイト数。

asyncCallback

読み取り操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

asyncState

読み取り操作に関する情報を格納するユーザー定義のオブジェクト。このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。

戻り値
非同期操作のステータスを示す IAsyncResult オブジェクト。

例外例外
例外の種類条件

ArgumentNullException

buffer が null 参照 (Visual Basic では Nothing) です。

ArgumentException

offset が 0 未満です。

または

offset が buffer の長さを超えています。

または

offset に count を加算した値が、buffer の長さを超えています。

IOException

読み取り操作に失敗しました。

または

暗号化が使用されていますが、データを復号化できませんでした。

NotSupportedException

既に実行中の読み取り操作が存在します。

ObjectDisposedException

このオブジェクトは閉じられています。

InvalidOperationException

認証が行われていません。

解説解説

暗号化、署名、または暗号化と署名が有効になっている場合、読み取り操作では基になるストリームからのデータの読み取り、データの整合性チェック、データの復号化が行われます。データの暗号化や署名などのセキュリティ サービスが使用されていない場合、このメソッドは基になるストリームで非同期の読み取り操作を開始します。

このメソッドは、非同期で実行され、操作の実行中にブロックしません。操作が完了するまでブロックするには、Read メソッドを使用します。

非同期読み取り操作は、EndRead メソッドを呼び出して終了させる必要があります。通常、このメソッドは asyncCallback デリゲートによって呼び出されます。非同期プログラミング モデルの使用法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。

NegotiateStream クラスは、複数の読み取り操作の同時実行をサポートしていません。同じストリームで既に読み取り操作が実行中であるときに、別の読み取り操作を開始しようとすると、NotSupportedException 例外がスローされます。

このメソッドは、正常に認証されるまで呼び出すことはできません。認証するには、AuthenticateAsClient、BeginAuthenticateAsClient、AuthenticateAsServer、またはBeginAuthenticateAsServer のいずれかのメソッドを呼び出します。

使用例使用例

非同期読み取り操作を開始するコード例を次に示します。このコード例は、NegotiateStream クラスのトピックで取り上げているコード例の一部分です。

public static void AuthenticateClient(TcpClient
 clientRequest)
{
    NetworkStream stream = clientRequest.GetStream(); 
    // Create the NegotiateStream.
    NegotiateStream authStream = new NegotiateStream(stream, false);
 
    // Save the current client and NegotiateStream instance 
    // in a ClientState object.
    ClientState cState = new ClientState(authStream, clientRequest);
    // Listen for the client authentication request.
    authStream.BeginAuthenticateAsServer (
        new AsyncCallback(EndAuthenticateCallback),
        cState
        );
    // Wait until the authentication completes.
    cState.Waiter.WaitOne();
    cState.Waiter.Reset();
    authStream.BeginRead(cState.Buffer, 0, cState.Buffer.Length, 
           new AsyncCallback(EndReadCallback), 
           cState);
    cState.Waiter.WaitOne();
    // Finished with the current client.
    authStream.Close();
    clientRequest.Close();
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
NegotiateStream クラス
NegotiateStream メンバ
System.Net.Security 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

NegotiateStream.BeginRead メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



NegotiateStream.BeginRead メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS