FileRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) メソッド

定義

以前にシーケンス内で予約された領域を使用して、非同期のフラッシュ操作を開始します。 このメソッドは継承できません。

public:
 virtual IAsyncResult ^ BeginFlush(System::IO::Log::SequenceNumber sequenceNumber, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginFlush (System.IO.Log.SequenceNumber sequenceNumber, AsyncCallback callback, object state);
abstract member BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
override this.BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

sequenceNumber
SequenceNumber

書き込む必要のある最新レコードのシーケンス番号。 SequenceNumber が無効な場合、すべてのレコードを書き込む必要があります。

callback
AsyncCallback

フラッシュの完了時に呼び出されるオプションの非同期コールバック。

state
Object

この特定の非同期フラッシュ要求を他の要求と区別するために使用するユーザー指定のオブジェクト。

戻り値

IAsyncResult

非同期のフラッシュ操作を表す IAsyncResult。まだ保留状態の場合もあります。

実装

例外

1 つ以上の引数が無効です。

このシーケンスの sequenceNumber が有効ではありません。

sequenceNumber が、このシーケンスの基本シーケンス番号と最後のシーケンス番号との間にありません。

データのフラッシュ中に I/O エラーが発生しました。

シーケンスが破棄された後にメソッドが呼び出されました。

プログラムの実行を継続する十分なメモリがありません。

注釈

現在のメソッドから返された IAsyncResultEndFlush メソッドに渡すことにより、フラッシュが完了し、リソースが適切に解放されたことを確認する必要があります。 非同期フラッシュ中にエラーが発生した場合、このメソッドから返される EndFlush を使用して IAsyncResult メソッドを呼び出すまで、例外はスローされません。

このメソッドを呼び出すことにより、FileRecordSequence に追加されたすべてのレコードが永続的に書き込まれたことを確認します。

レコード シーケンスが破棄されている場合、または無効な引数を渡した場合、この操作内で例外が直ちにスローされます。 I/O 要求時にディスク障害が発生した場合など、非同期フラッシュ要求中にエラーが発生した場合、EndFlush メソッドが呼び出されたときに例外がスローされます。

適用対象