共用方式為


ReadNextLogRecord 函式 (clfsw32.h)

在呼叫 ReadLogRecordReadLogRestartArea 所起始的序列中讀取下一筆記錄。 藉由反覆使用 ReadNextLogRecord ,用戶端可以在記錄檔中讀取指定類型的所有記錄。 列舉的方向是藉由指定開始讀取序列時的內容模式來決定。

語法

CLFSUSER_API BOOL ReadNextLogRecord(
  [in, out]           PVOID             pvReadContext,
  [out]               PVOID             *ppvBuffer,
  [out]               PULONG            pcbBuffer,
  [in, out]           PCLFS_RECORD_TYPE peRecordType,
  [in, optional]      PCLFS_LSN         plsnUser,
  [out]               PCLFS_LSN         plsnUndoNext,
  [out]               PCLFS_LSN         plsnPrevious,
  [out]               PCLFS_LSN         plsnRecord,
  [in, out, optional] LPOVERLAPPED      pOverlapped
);

參數

[in, out] pvReadContext

系統在成功呼叫 ReadLogRecordReadLogRestartArea 時配置和建立的讀取內容指標。

如果函式延遲作業完成,它會傳回有效讀取內容的指標,以及 ERROR_IO_PENDING的錯誤狀態。 如需處理異步完成的詳細資訊,請參閱本主題的一節。

[out] ppvBuffer

接收讀取數據指標之變數的指標。

[out] pcbBuffer

變數的指標,以位元組為單位接收 ppvReadBuffer 中傳回的讀取數據大小。

[in, out] peRecordType

在輸入上,指標會指定下一筆記錄讀取的記錄類型篩選,而輸出則指定傳回的記錄類型。

用戶端可以指定下列任何記錄類型。

意義
ClfsDataRecord
只會讀取用戶數據記錄。
ClfsRestartRecord
只會讀取重新啟動記錄。
ClfsClientRecord
所有重新啟動和數據記錄都會讀取。

[in, optional] plsnUser

CLFS_LSN 結構的指標,指定要讀取此記錄序號的記錄用戶端, (LSN) 做為下一個 LSN,而不是向前讀取到下一筆記錄、讀取先前的 LSN 或讀取下一個復原 LSN。

此參數可讓記錄用戶端在用戶端緩衝區中透過使用者定義的 LSN 鏈結進行數據指標。 此參數與讀取內容所持有之目前 LSN 的關聯性必須與 ReadLogRecord 進入點中指定的內容模式 ecxMode 一致;否則,會傳回ERROR_INVALID_PARAMETER的錯誤碼。

[out] plsnUndoNext

CLFS_LSN 結構的指標,可接收復原記錄鏈結中下一筆記錄的 LSN。

[out] plsnPrevious

CLFS_LSN 結構的指標 ,該結構會接收上一筆記錄鏈結中下一筆記錄的 LSN。

[out] plsnRecord

CLFS_LSN 結構的指標 ,可接收讀取內容中目前記錄的 LSN。

[in, out, optional] pOverlapped

異步操作所需的 重疊 結構指標。

如果未使用異步操作,此參數可以是 NULL

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

下列清單會識別可能的錯誤碼:

備註

如果 ReadNextLogRecord 傳回狀態代碼 為 ERROR_IO_PENDING,則客戶端應該使用 GetOverlappedResult 或其中一個同步 處理等候函式,同步處理其執行與重疊 I/O 作業的延後完成。 如需詳細資訊,請參閱 同步處理和重疊的輸入和輸出

在 ReadNextLogRecord 異步完成之後,要求記錄會從磁碟讀取,但不會解析為 *ppvReadBuffer 中的指標。 若要取得記錄的有效指標,客戶端必須再次呼叫 ReadNextLogRecord

注意 常見的記錄檔系統 (CLFS) 讀取內容不是安全線程。 一次不應該有多個線程使用它們。

CLFS 讀取內容一次不應傳遞至多個異步讀取,否則函式會因為ERROR_READ而失敗。

 

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 clfsw32.h
程式庫 Clfsw32.lib
Dll Clfsw32.dll

另請參閱

CLFS_LSN

CLFS_RECORD_TYPE

一般記錄檔系統函式

重疊

ReadLogRecord

ReadLogRestartArea

同步處理和重疊的輸入和輸出