Freigeben über


ReservationCollection.Remove(Int64) Methode

Definition

Gibt eine Reservierung der angegebenen Größe frei, wenn eine Reservierung vorgenommen wurde. Diese Methode kann nicht vererbt 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 freizugebenden Reservierung.

Gibt zurück

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

Implementiert

Ausnahmen

In der angegebenen Reservierungsauflistung wurde keine Reservierung gefunden, die groß genug für den angegebenen Datensatz ist.

Ein E/A-Fehler tritt auf, wenn die Archivmomentaufnahme erstellt wird.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Der Arbeitsspeicher reicht nicht aus, 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 stellt dar, wie Sie manuell eine Reservierung 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: