次の方法で共有


LogRecordSequence.BeginAppend メソッド

定義

非同期の追加操作を開始します。

オーバーロード

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

非同期の追加操作を開始します。 このメソッドは継承できません。

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

非同期の追加操作を開始します。 このメソッドは継承できません。

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

非同期の追加操作を開始します。 このメソッドは継承できません。

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

非同期の追加操作を開始します。 このメソッドは継承できません。

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

非同期の追加操作を開始します。 このメソッドは継承できません。

public:
 virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

data
ArraySegment<Byte>

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

nextUndoRecord
SequenceNumber

ユーザー指定の順序で次のレコードのシーケンス番号。

previousRecord
SequenceNumber

以前の順序で次のレコードのシーケンス番号。

recordAppendOptions
RecordAppendOptions

データの書き込み方法を指定する RecordAppendOptions の有効な値。

callback
AsyncCallback

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

state
Object

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

戻り値

非同期の追加を表す IAsyncResult。まだ保留状態の場合もあります。

実装

例外

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

- または -

data が最大レコード サイズより大きいため、追加できません。

- または -

reservations が、このレコード シーケンスによって作成されていません。

1 つ以上の引数が null です。

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

予期しない I/O 例外のため、要求は実行されませんでした。

- または -

I/O デバイス エラーのため、要求は実行されませんでした。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

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

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

レコード シーケンスがいっぱいです。

指定のログ シーケンスへのアクセスは、オペレーティング システムにより拒否されました。

注釈

追加処理が完了しておりリソースを適切に解放できることを確認するために、このメソッドから返された IAsyncResultEndAppend メソッドに渡すことをお勧めします。 非同期追加中にエラーが発生した場合、このメソッドから返される EndAppend を使用して IAsyncResult メソッドを呼び出すまで、例外はスローされません。

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

このメソッドは通常、レコードの書き込みが終わる前に完了します。 レコードが書き込まれたことを確認するために、ForceFlush パラメーターを使用して recordAppendOptions フラグを指定するか、Flush メソッドを呼び出します。

適用対象

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

非同期の追加操作を開始します。 このメソッドは継承できません。

public:
 virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

data
IList<ArraySegment<Byte>>

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

userRecord
SequenceNumber

ユーザー指定の順序で次のレコードのシーケンス番号。

previousRecord
SequenceNumber

以前の順序で次のレコードのシーケンス番号。

recordAppendOptions
RecordAppendOptions

データの書き込み方法を指定する RecordAppendOptions の有効な値。

callback
AsyncCallback

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

state
Object

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

戻り値

非同期の追加を表す IAsyncResult。まだ保留状態の場合もあります。

実装

例外

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

- または -

data が最大レコード サイズより大きいため、追加できません。

- または -

reservations が、このレコード シーケンスによって作成されていません。

1 つ以上の引数が null です。

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

予期しない I/O 例外のため、要求は実行されませんでした。

- または -

I/O デバイス エラーのため、要求は実行されませんでした。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

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

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

レコード シーケンスがいっぱいです。

指定のログ シーケンスへのアクセスは、オペレーティング システムにより拒否されました。

注釈

追加処理が完了しておりリソースを適切に解放できることを確認するために、このメソッドから返された IAsyncResultEndAppend メソッドに渡すことをお勧めします。 非同期追加中にエラーが発生した場合、このメソッドから返される EndAppend を使用して IAsyncResult メソッドを呼び出すまで、例外はスローされません。

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

このメソッドは通常、レコードの書き込みが終わる前に完了します。 レコードが書き込まれたことを確認するために、ForceFlush パラメーターを使用して recordAppendOptions フラグを指定するか、Flush メソッドを呼び出します。

適用対象

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

非同期の追加操作を開始します。 このメソッドは継承できません。

public:
 virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

data
ArraySegment<Byte>

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

nextUndoRecord
SequenceNumber

ユーザー指定の順序で次のレコードのシーケンス番号。

previousRecord
SequenceNumber

以前の順序で次のレコードのシーケンス番号。

recordAppendOptions
RecordAppendOptions

データの書き込み方法を指定する RecordAppendOptions の有効な値。

reservations
ReservationCollection

このレコードで使用する予約情報を格納する ReservationCollection

callback
AsyncCallback

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

state
Object

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

戻り値

非同期の追加を表す IAsyncResult。まだ保留状態の場合もあります。

実装

例外

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

- または -

data が最大レコード サイズより大きいため、追加できません。

- または -

reservations が、このレコード シーケンスによって作成されていません。

1 つ以上の引数が null です。

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

予期しない I/O 例外のため、要求は実行されませんでした。

- または -

I/O デバイス エラーのため、要求は実行されませんでした。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

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

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

レコード シーケンスがいっぱいです。

指定のログ シーケンスへのアクセスは、オペレーティング システムにより拒否されました。

data に対応する十分なサイズの予約が reservations に見つかりません。

注釈

追加処理が完了しておりリソースを適切に解放できることを確認するために、このメソッドから返された IAsyncResultEndAppend メソッドに渡すことをお勧めします。 非同期追加中にエラーが発生した場合、このメソッドから返される EndAppend を使用して IAsyncResult メソッドを呼び出すまで、例外はスローされません。

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

追加されたレコードは、reservations パラメーターにより指定された予約を使用して以前に予約された領域を消費します。 この追加処理が成功すると、データを格納できる最も小さな予約領域が消費され、その予約領域がコレクションから削除されます。

このメソッドは通常、レコードの書き込みが終わる前に完了します。 レコードが書き込まれたことを確認するために、ForceFlush パラメーターを使用して recordAppendOptions フラグを指定するか、Flush メソッドを呼び出します。

適用対象

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

非同期の追加操作を開始します。 このメソッドは継承できません。

public:
 virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

data
IList<ArraySegment<Byte>>

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

userRecord
SequenceNumber

ユーザー指定の順序で次のレコードのシーケンス番号。

previousRecord
SequenceNumber

以前の順序で次のレコードのシーケンス番号。

recordAppendOptions
RecordAppendOptions

データの書き込み方法を指定する RecordAppendOptions の有効な値。

reservations
ReservationCollection

このレコードで使用する予約情報を格納する ReservationCollection

callback
AsyncCallback

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

state
Object

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

戻り値

非同期の追加を表す IAsyncResult。まだ保留状態の場合もあります。

実装

例外

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

- または -

data が最大レコード サイズより大きいため、追加できません。

- または -

reservations が、このレコード シーケンスによって作成されていません。

1 つ以上の引数が null です。

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

予期しない I/O 例外のため、要求は実行されませんでした。

- または -

I/O デバイス エラーのため、要求は実行されませんでした。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

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

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

レコード シーケンスがいっぱいです。

指定のログ シーケンスへのアクセスは、オペレーティング システムにより拒否されました。

data に対応する十分なサイズの予約が reservations に見つかりません。

注釈

追加処理が完了しておりリソースを適切に解放できることを確認するために、このメソッドから返された IAsyncResultEndAppend メソッドに渡すことをお勧めします。 非同期追加中にエラーが発生した場合、このメソッドから返される EndAppend を使用して IAsyncResult メソッドを呼び出すまで、例外はスローされません。

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

追加されたレコードは、reservations パラメーターにより指定された予約を使用して以前に予約された領域を消費します。 この追加処理が成功すると、データを格納できる最も小さな予約領域が消費され、その予約領域がコレクションから削除されます。

このメソッドは通常、レコードの書き込みが終わる前に完了します。 レコードが書き込まれたことを確認するために、ForceFlush パラメーターを使用して recordAppendOptions フラグを指定するか、Flush メソッドを呼び出します。

適用対象