FileRecordSequence.BeginWriteRestartArea メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
非同期の再開領域の書き込み操作を開始します。
オーバーロード
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
以前にシーケンス内で予約された領域を使用して、非同期の再開領域の書き込み操作を開始します。 このメソッドは継承できません。 |
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
以前にシーケンス内で予約された領域を使用して、非同期の再開領域の書き込み操作を開始します。 このメソッドは継承できません。 |
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
以前にシーケンス内で予約された領域を使用して、非同期の再開領域の書き込み操作を開始します。 このメソッドは継承できません。
public:
virtual IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSeqNum, 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
override this.BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSeqNum As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- data
- ArraySegment<Byte>
レコードとして連結および追加されるバイト配列セグメントのリスト。
- newBaseSeqNum
- SequenceNumber
新しい基本シーケンス番号。 指定するシーケンス番号は、現在の基本シーケンス番号以上であることが必要です。
- reservation
- ReservationCollection
この再開領域で使用する予約情報を格納する ReservationCollection。
- callback
- AsyncCallback
再開領域の書き込みの完了時に呼び出されるオプションの非同期コールバック。
- state
- Object
この特定の再開領域非同期書き込み要求を他の要求と区別するために使用するユーザー指定のオブジェクト。
戻り値
非同期の再開領域の書き込み処理を表す IAsyncResult。まだ保留状態の場合もあります。
実装
例外
1 つ以上の引数が null
です。
newBaseSeqNum
が、このシーケンスの基本シーケンス番号と最後のシーケンス番号との間にありません。
- または -
新しいアーカイブ末尾または既存のアーカイブ末尾、あるいはアーカイブ ログの基本が無効です。
reservations
が、このレコード シーケンスによって作成されていません。
- または -
このシーケンスの newBaseSeqNum
が有効ではありません。
レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。
予期しない I/O 例外のため、要求を実行できません。
シーケンスが破棄された後にメソッドが呼び出されました。
プログラムの実行を継続する十分なメモリがありません。
レコード シーケンスがいっぱいです。
data
に対応する十分なサイズの予約が reservations
に見つかりません。
注釈
再開領域の書き込み処理が完了しておりリソースを適切に解放できることを確認するために、このメソッドから返された IAsyncResult を EndWriteRestartArea メソッドに渡す必要があります。 非同期の再開領域の書き込み処理中にエラーが発生した場合、このメソッドから返される EndWriteRestartArea を使用して IAsyncResult メソッドを呼び出すまで、例外はスローされません。
data
パラメーターに格納されたデータは、レコードとして追加するために単一バイトの配列に連結されます。 ただし、レコードの読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。
この操作が正しく完了すると、基本シーケンス番号が更新されます。 新しい基本シーケンス番号未満の番号を持つすべてのログ レコードは、アクセスできません。
ReservationCollection を指定すると、コレクションに格納されていた予約情報で以前に予約された領域が、書き込まれた再開領域により消費されます。 このメソッドが成功すると、データを格納できる最も小さな予約が消費され、その予約がコレクションから削除されます。
レコード シーケンスが破棄されている場合、または無効な引数を渡した場合、この操作内で例外が直ちにスローされます。 I/O 要求時にディスク障害が発生した場合など、非同期追加要求中にエラーが発生した場合、EndWriteRestartArea メソッドが呼び出されたときに例外がスローされます。
適用対象
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
以前にシーケンス内で予約された領域を使用して、非同期の再開領域の書き込み操作を開始します。 このメソッドは継承できません。
public:
virtual IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, 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
override this.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)), newBaseSeqNum As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- data
- IList<ArraySegment<Byte>>
レコードとして連結および追加されるバイト配列セグメントのリスト。
- newBaseSeqNum
- SequenceNumber
新しい基本シーケンス番号。 指定するシーケンス番号は、現在の基本シーケンス番号以上であることが必要です。
- reservation
- ReservationCollection
この再開領域で使用する予約情報を格納する ReservationCollection。
- callback
- AsyncCallback
再開領域の書き込みの完了時に呼び出されるオプションの非同期コールバック。
- state
- Object
この特定の再開領域非同期書き込み要求を他の要求と区別するために使用するユーザー指定のオブジェクト。
戻り値
非同期の再開領域の書き込み処理を表す IAsyncResult。まだ保留状態の場合もあります。
実装
例外
1 つ以上の引数が null
です。
newBaseSeqNum
が、このシーケンスの基本シーケンス番号と最後のシーケンス番号との間にありません。
- または -
新しいアーカイブ末尾または既存のアーカイブ末尾、あるいはアーカイブ ログの基本が無効です。
reservations
が、このレコード シーケンスによって作成されていません。
- または -
このシーケンスの newBaseSeqNum
が有効ではありません。
レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。
予期しない I/O 例外のため、要求を実行できません。
シーケンスが破棄された後にメソッドが呼び出されました。
プログラムの実行を継続する十分なメモリがありません。
レコード シーケンスがいっぱいです。
data
に対応する十分なサイズの予約が reservations
に見つかりません。
注釈
再開領域の書き込み処理が完了しておりリソースを適切に解放できることを確認するために、このメソッドから返された IAsyncResult を EndWriteRestartArea メソッドに渡す必要があります。 非同期の再開領域の書き込み処理中にエラーが発生した場合、このメソッドから返される EndWriteRestartArea を使用して IAsyncResult メソッドを呼び出すまで、例外はスローされません。
data
パラメーターに格納されたデータは、レコードとして追加するために単一バイトの配列に連結されます。 ただし、レコードの読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。
この操作が正しく完了すると、基本シーケンス番号が更新されます。 新しい基本シーケンス番号未満の番号を持つすべてのログ レコードは、アクセスできません。
ReservationCollection を指定すると、コレクションに格納されていた予約情報で以前に予約された領域が、書き込まれた再開領域により消費されます。 このメソッドが成功すると、データを格納できる最も小さな予約が消費され、その予約がコレクションから削除されます。
レコード シーケンスが破棄されている場合、または無効な引数を渡した場合、この操作内で例外が直ちにスローされます。 I/O 要求時にディスク障害が発生した場合など、非同期追加要求中にエラーが発生した場合、EndWriteRestartArea メソッドが呼び出されたときに例外がスローされます。
適用対象
.NET