次の方法で共有


IRecordSequence.BeginWriteRestartArea メソッド

定義

派生クラスでオーバーライドされると、非同期の再開領域の書き込み操作を開始します。

オーバーロード

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

派生クラスでオーバーライドされると、以前にシーケンス内で予約された領域を使用して、非同期の再開領域の書き込み操作を開始します。

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

派生クラスでオーバーライドされると、以前にシーケンス内で予約された領域を使用して、非同期の再開領域の書き込み操作を開始します。

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

派生クラスでオーバーライドされると、以前にシーケンス内で予約された領域を使用して、非同期の再開領域の書き込み操作を開始します。

public:
 IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSequenceNumber As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

data
ArraySegment<Byte>

レコードとして連結および追加されるバイト配列セグメントのリスト。

newBaseSequenceNumber
SequenceNumber

新しい基本シーケンス番号。 指定するシーケンス番号は、現在の基本シーケンス番号以上であることが必要です。

reservation
ReservationCollection

この再開領域で使用する予約情報を格納する ReservationCollection

callback
AsyncCallback

再開領域の書き込みの完了時に呼び出されるオプションの非同期コールバック。

state
Object

この特定の再開領域非同期書き込み要求を他の要求と区別するために使用するユーザー指定のオブジェクト。

戻り値

非同期の再開領域の書き込み処理を表す IAsyncResult。まだ保留状態の場合もあります。

注釈

再開領域の書き込み処理が完了しておりリソースを適切に解放できることを確認するために、このメソッドから返された IAsyncResultEndWriteRestartArea メソッドに渡す必要があります。 非同期の再開領域の書き込み処理中にエラーが発生した場合、このメソッドから返される EndWriteRestartArea を使用して IAsyncResult メソッドを呼び出すまで、例外はスローされません。

data パラメーターに格納されたデータは、レコードとして追加するために単一バイトの配列に連結されます。 ただし、レコードの読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。

この操作が正しく完了すると、基本シーケンス番号が更新されます。 新しい基本シーケンス番号未満の番号を持つすべてのログ レコードは、アクセスできません。

ReservationCollection を指定すると、コレクションに格納されていた予約情報で以前に予約された領域が、書き込まれた再開領域により消費されます。 このメソッドが成功すると、データを格納できる最も小さな予約が消費され、その予約がコレクションから削除されます。

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

適用対象

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

派生クラスでオーバーライドされると、以前にシーケンス内で予約された領域を使用して、非同期の再開領域の書き込み操作を開始します。

public:
 IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSequenceNumber As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

data
IList<ArraySegment<Byte>>

レコードとして連結および追加されるバイト配列セグメントのリスト。

newBaseSequenceNumber
SequenceNumber

新しい基本シーケンス番号。 指定するシーケンス番号は、現在の基本シーケンス番号以上であることが必要です。

reservation
ReservationCollection

この再開領域で使用する予約情報を格納する ReservationCollection

callback
AsyncCallback

再開領域の書き込みの完了時に呼び出されるオプションの非同期コールバック。

state
Object

この特定の再開領域非同期書き込み要求を他の要求と区別するために使用するユーザー指定のオブジェクト。

戻り値

非同期の再開領域の書き込み処理を表す IAsyncResult。まだ保留状態の場合もあります。

例外

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

再開領域の書き込み中に I/O エラーが発生しました。

レコード シーケンスは、新しいレコードを格納するための十分な空き領域を作成できませんでした。

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

注釈

再開領域の書き込み処理が完了しておりリソースを適切に解放できることを確認するために、このメソッドから返された IAsyncResultEndWriteRestartArea メソッドに渡す必要があります。 非同期の再開領域の書き込み処理中にエラーが発生した場合、このメソッドから返される EndWriteRestartArea を使用して IAsyncResult メソッドを呼び出すまで、例外はスローされません。

data パラメーターに格納されたデータは、レコードとして追加するために単一バイトの配列に連結されます。 ただし、レコードの読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。

この操作が正しく完了すると、基本シーケンス番号が更新されます。 新しい基本シーケンス番号未満の番号を持つすべてのログ レコードは、アクセスできません。

ReservationCollection を指定すると、コレクションに格納されていた予約情報で以前に予約された領域が、書き込まれた再開領域により消費されます。 このメソッドが成功すると、データを格納できる最も小さな予約が消費され、その予約がコレクションから削除されます。

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

適用対象