ReadNextLogRecord 函式 (clfsw32.h)
在呼叫 ReadLogRecord 或 ReadLogRestartArea 所起始的序列中讀取下一筆記錄。 藉由反覆使用 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
系統在成功呼叫 ReadLogRecord 或 ReadLogRestartArea 時配置和建立的讀取內容指標。
如果函式延遲作業完成,它會傳回有效讀取內容的指標,以及 ERROR_IO_PENDING的錯誤狀態。 如需處理異步完成的詳細資訊,請參閱本主題的一節。
[out] ppvBuffer
接收讀取數據指標之變數的指標。
[out] pcbBuffer
變數的指標,以位元組為單位接收 ppvReadBuffer 中傳回的讀取數據大小。
[in, out] peRecordType
在輸入上,指標會指定下一筆記錄讀取的記錄類型篩選,而輸出則指定傳回的記錄類型。
用戶端可以指定下列任何記錄類型。
值 | 意義 |
---|---|
|
只會讀取用戶數據記錄。 |
|
只會讀取重新啟動記錄。 |
|
所有重新啟動和數據記錄都會讀取。 |
[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 讀取內容一次不應傳遞至多個異步讀取,否則函式會因為ERROR_READ而失敗。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | clfsw32.h |
程式庫 | Clfsw32.lib |
Dll | Clfsw32.dll |