共用方式為


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 值。

傳回碼 描述
S_OK
記錄已成功從記錄檔讀取。
XACT_E_INVALIDLSN
lsnToRead 超出記錄檔目前的限制。 請參閱 ILog::GetLogLimits
E_INVALIDARG
lsnToRead 位於記錄檔的目前限制內,但它不是記錄中的 LSN。

備註

雖然使用 ILog::AppendRecord 附加至記錄的記錄可能會從多個 BLOB 串連, 但 ReadRecordPrefix 會以單一不透明的資料 Blob 傳回記錄。 ILog 不提供從記錄中擷取個別 BLOB 的方法。 呼叫端必須負責剖析 ReadRecordPrefix所傳回記錄中的資料。

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 txlogpub.h

另請參閱

ILog