ReservationCollection.Remove(Int64) Methode

Definition

Gibt eine Reservierung der angegebenen Größe frei, wenn eine vorgenommen wurde. Diese Methode kann nicht geerbt werden.

public:
 virtual bool Remove(long item);
public bool Remove(long item);
abstract member Remove : int64 -> bool
override this.Remove : int64 -> bool
Public Function Remove (item As Long) As Boolean

Parameter

item
Int64

Die Größe der Reservierung, die freigegeben werden soll.

Gibt zurück

truewenn eine Reservierung der angegebenen Größe gefunden und entfernt wurde; andernfalls . false

Implementiert

Ausnahmen

In der angegebenen Reservierungssammlung ist keine Reservierung groß genug, um den bereitgestellten Datensatz zu passen.

Beim Erstellen der Archivmomentaufnahme tritt ein E/A-Fehler auf.

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.

Der Zugriff auf den angegebenen Protokollspeicher wird vom Betriebssystem verweigert.

Beispiele

Das folgende Beispiel zeigt, wie Sie eine Reservierung manuell vornehmen. Beachten Sie, dass diese Aufgabe nur bei Verwendung der CLFS-basierten LogRecordSequence Klasse ausgeführt werden kann.

ReservationCollection reservations = recordSequence.CreateReservationCollection();
reservations.Add(lengthOfUndoRecord);
try
{
   recordSequence.Append(recordData, userSqn, previousSqn, RecordAppendOptions.None);
}
catch (Exception)
{
   reservations.Remove(lengthOfUndoRecord);
   throw;
}

recordSequence.Append(undoRecordData, userSqn, previousSqn, RecordAppendOptions.ForceFlush, reservations);

Gilt für: