ReservationCollection.Remove(Int64) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
釋放指定大小的保留,如果有建立。 這個方法無法被繼承。
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);