Share via


ReservationCollection.Remove(Int64) 方法

定義

釋放指定大小的保留,如果有建立。 這個方法無法被繼承。

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

參數

item
Int64

要釋放的保留區大小。

傳回

如果已找到並移除指定大小的保留,則為 true,否則為 false

實作

例外狀況

在指定的保留集合中,找不到符合所提供之記錄的保留大小。

建立封存快照時發生 I/O 錯誤。

已在處置序列之後呼叫此方法。

沒有足夠的記憶體可以繼續執行程式。

記錄順序已滿。

存取指定的記錄存放區遭作業系統拒絕。

範例

下列範例將示範如何手動建立保留。 請注意,您只能在使用 CLFS 的 LogRecordSequence 類別時執行這項工作。

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);  

適用於