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 |