FileRecordSequence.ReserveAndAppend Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt automatisch eine einzelne Reservierung durch und fügt einen Datensatz an die Sequenz an.
Überlädt
| Name | Beschreibung |
|---|---|
| ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Führt automatisch eine einzelne Reservierung durch und fügt einen Datensatz an die Sequenz an. Diese Methode kann nicht geerbt werden. |
| ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Führt automatisch eine einzelne Reservierung durch und fügt einen Datensatz an die Sequenz an. Diese Methode kann nicht geerbt werden. |
ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])
Führt automatisch eine einzelne Reservierung durch und fügt einen Datensatz an die Sequenz an. Diese Methode kann nicht geerbt werden.
public:
virtual System::IO::Log::SequenceNumber ReserveAndAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, ... cli::array <long> ^ reservations);
public System.IO.Log.SequenceNumber ReserveAndAppend(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
override this.ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber
Parameter
- data
- IList<ArraySegment<Byte>>
Eine Liste der Bytearraysegmente, die als Datensatz verkettet und angefügt werden.
- nextUndoRecord
- SequenceNumber
Die Sequenznummer des nächsten Datensatzes in der vom Benutzer angegebenen Reihenfolge.
- previousRecord
- SequenceNumber
Die Sequenznummer des nächsten Datensatzes in der Vorherigen Reihenfolge.
- recordAppendOptions
- RecordAppendOptions
Ein gültiger Wert, der RecordAppendOptions angibt, wie die Daten geschrieben werden sollen.
- reservationCollection
- ReservationCollection
Die Reservierungssammlung, um Reservierungen vorzunehmen.
- reservations
- Int64[]
Die Reservierungen, die in Byte vorgenommen werden sollen.
Gibt zurück
Die Sequenznummer des angefügten Protokolldatensatzes.
Implementiert
Ausnahmen
Mindestens eines der Argumente ist null.
Mindestens ein Argument liegt außerhalb des zulässigen Bereichs.
reservations wurde nicht von dieser Datensatzsequenz erstellt.
Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit schreibgeschütztem Zugriff geöffnet wurde.
Die Anforderung konnte aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.
Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.
Es ist nicht genügend Arbeitsspeicher vorhanden, um die Ausführung des Programms fortzusetzen.
Die Datensatzsequenz ist voll.
Hinweise
Daten, die data im Parameter enthalten sind, werden als Datensatz in ein einzelnes Bytearray verkettet. Beim Lesen des Datensatzes werden jedoch keine Daten wieder in Arraysegmente aufgeteilt.
Die angegebenen Reservierungen werden der bereitgestellten Reservierungsauflistung in einem Atomvorgang mit einem Datensatzanfügevorgang hinzugefügt. Wenn das Anfügen fehlschlägt, ist kein Leerzeichen reserviert.
Normalerweise kann diese Methode abgeschlossen werden, bevor der Datensatz geschrieben wurde. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush Flag mit dem recordAppendOptions Parameter an, oder rufen Sie die Flush Methode auf.
Gilt für:
ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])
Führt automatisch eine einzelne Reservierung durch und fügt einen Datensatz an die Sequenz an. Diese Methode kann nicht geerbt werden.
public:
virtual System::IO::Log::SequenceNumber ReserveAndAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, ... cli::array <long> ^ reservations);
public System.IO.Log.SequenceNumber ReserveAndAppend(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
override this.ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber
Parameter
- data
- ArraySegment<Byte>
Eine Liste der Bytearraysegmente, die als Datensatz verkettet und angefügt werden.
- nextUndoRecord
- SequenceNumber
Die Sequenznummer des nächsten Datensatzes in der vom Benutzer angegebenen Reihenfolge.
- previousRecord
- SequenceNumber
Die Sequenznummer des nächsten Datensatzes in der Vorherigen Reihenfolge.
- recordAppendOptions
- RecordAppendOptions
Ein gültiger Wert, der RecordAppendOptions angibt, wie die Daten geschrieben werden sollen.
- reservationCollection
- ReservationCollection
A ReservationCollection that contains the collection to make reservations in.
- reservations
- Int64[]
Die Reservierungen, die in Byte vorgenommen werden sollen.
Gibt zurück
Die Sequenznummer des angefügten Protokolldatensatzes.
Implementiert
Ausnahmen
Mindestens eines der Argumente ist null.
Mindestens ein Argument liegt außerhalb des zulässigen Bereichs.
reservations wurde nicht von dieser Datensatzsequenz erstellt.
Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit schreibgeschütztem Zugriff geöffnet wurde.
Die Anforderung konnte aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.
Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.
Es ist nicht genügend Arbeitsspeicher vorhanden, um die Ausführung des Programms fortzusetzen.
Die Datensatzsequenz ist voll.
Hinweise
Daten, die data im Parameter enthalten sind, werden als Datensatz in ein einzelnes Bytearray verkettet. Beim Lesen des Datensatzes werden jedoch keine Daten wieder in Arraysegmente aufgeteilt.
Die angegebenen Reservierungen werden der bereitgestellten Reservierungsauflistung in einem Atomvorgang mit einem Datensatzanfügevorgang hinzugefügt. Wenn das Anfügen fehlschlägt, ist kein Leerzeichen reserviert.
Normalerweise kann diese Methode abgeschlossen werden, bevor der Datensatz geschrieben wurde. Um sicherzustellen, dass ein Datensatz geschrieben wurde, geben Sie entweder das ForceFlush Flag mit dem recordAppendOptions Parameter an, oder rufen Sie die Flush Methode auf.