ILog::ReadRecordPrefix 方法 (txlogpub.h)
从日志中读取记录的初始部分。
语法
HRESULT ReadRecordPrefix(
[in] LSN lsnToRead,
[in, out] LSN *plsnPrev,
[in, out] LSN *plsnNext,
[out] BYTE *pbData,
[in, out] ULONG *pcbData,
[out] ULONG *pcbRecord
);
参数
[in] lsnToRead
要读取的记录的 LSN。
[in, out] plsnPrev
指向上一条记录的 LSN 的指针, (要读取) 的记录前一条记录。 如果不需要上一条记录的 LSN,则可以传递 NULL 。 如果日志中没有以前的记录或发生错误,则此参数为 0。
[in, out] plsnNext
指向下一条记录的 LSN 的指针 (紧跟在记录后面读取) 的记录。 如果不需要下一条记录的 LSN,则可以传递 NULL 。 如果日志中没有下一条记录,此参数为 MAXLSN (0x7FFFFFFFFFFFFFFF) 。 如果发生错误,此参数为 0。
[out] pbData
指向要在其中读取记录数据的缓冲区的指针。
[in, out] pcbData
指向变量的指针,该变量包含输入时缓冲区的大小(以字节为单位),并将包含返回时读取的记录数据的大小(以字节为单位)。
[out] pcbRecord
指向变量的指针,该变量将在返回时包含整个记录的大小(以字节为单位)。 如果不需要整个记录的大小,则可以传递 NULL 。
返回值
此方法可以返回以下值以及其他 HRESULT 值。
返回代码 | 说明 |
---|---|
|
已成功从日志中读取记录。 |
|
lsnToRead 超出了日志的当前限制。 请参阅 ILog::GetLogLimits。 |
|
lsnToRead 在日志的当前限制范围内,但它不是日志中记录的 LSN。 |
注解
尽管使用 ILog::AppendRecord 追加到日志的记录可能从多个 BLOB 连接, 但 ReadRecordPrefix 会将记录作为单个不透明的数据 Blob 返回。 ILog 不提供从记录中提取单个 BLOB 的方法。 调用方负责分析 ReadRecordPrefix 返回的记录中的数据。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | txlogpub.h |