ReservationCollection.Remove(Int64) 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
释放指定大小的预留(如果已生成)。 无法继承此方法。
public:
 virtual bool Remove(long item);public bool Remove (long item);abstract member Remove : int64 -> bool
override this.Remove : int64 -> boolPublic 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);