共用方式為


ClfsWriteRestartArea 函式 (wdm.h)

ClfsWriteRestartArea 例程會以不可部分完成的方式將新的重新啟動記錄附加至 CLFS 數據流、將重新啟動記錄排清至穩定的記憶體,並選擇性地更新數據流的基底 LSN。

語法

CLFSUSER_API NTSTATUS ClfsWriteRestartArea(
  [in, out]       PVOID     pvMarshalContext,
  [in]            PVOID     pvRestartBuffer,
  [in]            ULONG     cbRestartBuffer,
  [in, optional]  PCLFS_LSN plsnBase,
  [in]            ULONG     fFlags,
  [out, optional] PULONG    pcbWritten,
  [out, optional] PCLFS_LSN plsnNext
);

參數

[in, out] pvMarshalContext

不透明內容的指標,表示與CLFS數據流相關聯的封送處理區域。 呼叫者先前已呼叫 clfsCreateMarshallingArea 來取得此指標。

[in] pvRestartBuffer

緩衝區的指標,其中包含重新啟動記錄的數據。

[in] cbRestartBuffer

pvRestartBuffer 所指向之緩衝區的大小,以位元組為單位,。 這是重新啟動數據的大小。

[in, optional] plsnBase

指定數據流之新基底 LSN 之 CLFS_LSN 結構的指標。 如果此參數 NULL,則基底 LSN 不會變更。

[in] fFlags

此參數必須是下列其中一個值。

價值 意義
0 重新啟動記錄會放在I/O區塊中新配置的空間中。 封送處理區域中的保留記錄數目不會變更。
CLFS_FLAG_USE_RESERVATION 重新啟動記錄會放在I/O區塊先前保留的空間中。 封送處理區域中的保留記錄數目會減少一個。

[out, optional] pcbWritten

ULONG 型別變數的指標,可接收實際強制為穩定記憶體的位元元組數目。 此參數可以是 NULL

[out, optional] plsnNext

接收新寫入之重新啟動記錄之 LSN 之 CLFS_LSN 結構的指標。

傳回值

ClfsWriteRestartArea 會在成功時傳回STATUS_SUCCESS;否則,它會傳回 Ntstatus.h 中定義的其中一個錯誤碼。

言論

通常 ClfsWriteRestartArea 稱為客戶端檢查點的最後一個動作。

ClfsWriteRestartArea 是一項相對昂貴的作業,因為它會導致目前封送處理區域中的所有記錄以及數據流和記錄元數據的排清。

在任何時候,應該只使用一個封送處理區域將數據寫入數據流。 將兩個封送處理區域寫入數據流可能會導致數據流損毀。

如果您只想設定數據流的基底 LSN,請使用 ClfsAdvanceLogBase,這不一定會將任何數據排清到穩定的記憶體。

如需 CLFS 概念和術語的說明,請參閱 Common Log File System

要求

要求 價值
最低支援的用戶端 適用於 Windows Server 2003 R2、Windows Vista 和更新版本的 Windows。
目標平臺 桌面
標頭 wdm.h (包括 Wdm.h)
連結庫 Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

另請參閱

CLFS_LSN

ClfsAdvanceLogBase

ClfsCreateMarshallingArea

ClfsReadPreviousRestartArea

ClfsReadRestartArea