Fungsi ClfsWriteRestartArea (wdm.h)

Rutinitas ClfsWriteRestartArea secara atomik menambahkan rekaman hidupkan ulang baru ke aliran CLFS, membersihkan catatan hidupkan ulang ke penyimpanan yang stabil, dan secara opsional memperbarui LSN dasar aliran.

Sintaks

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
);

Parameter

[in, out] pvMarshalContext

Penunjuk ke konteks buram yang mewakili area marshalling yang terkait dengan aliran CLFS. Penelepon sebelumnya mendapatkan pointer ini dengan memanggil ClfsCreateMarshallingArea.

[in] pvRestartBuffer

Penunjuk ke buffer yang berisi data untuk rekaman hidupkan ulang.

[in] cbRestartBuffer

Ukuran, dalam byte, dari buffer yang diacu oleh pvRestartBuffer. Ini adalah ukuran data hidupkan ulang.

[in, optional] plsnBase

Penunjuk ke struktur CLFS_LSN yang menentukan LSN dasar baru untuk aliran. Jika parameter ini NULL, LSN dasar tidak diubah.

[in] fFlags

Parameter ini harus menjadi salah satu nilai berikut.

Nilai Makna
0 Rekaman hidupkan ulang ditempatkan di ruang yang baru dialokasikan di blok I/O. Jumlah catatan yang dipesan di area marshalling tidak diubah.
CLFS_FLAG_USE_RESERVATION Rekaman hidupkan ulang ditempatkan di ruang yang dipesan sebelumnya di blok I/O. Jumlah catatan yang dipesan di area marshalling berkurang satu.

[out, optional] pcbWritten

Penunjuk ke variabel berjenis ULONG yang menerima jumlah byte yang benar-benar dipaksa untuk penyimpanan yang stabil. Parameter ini bisa NULL.

[out, optional] plsnNext

Penunjuk ke struktur CLFS_LSN yang menerima LSN dari rekaman hidupkan ulang yang baru ditulis.

Nilai kembali

ClfsWriteRestartArea mengembalikan STATUS_SUCCESS jika berhasil; jika tidak, ia mengembalikan salah satu kode kesalahan yang ditentukan dalam Ntstatus.h.

Keterangan

Biasanya ClfsWriteRestartArea disebut sebagai tindakan terakhir dari titik pemeriksaan klien.

ClfsWriteRestartArea adalah operasi yang relatif mahal karena menyebabkan flush semua rekaman yang saat ini berada di area marshalling bersama dengan flush aliran dan metadata log.

Pada satu waktu, hanya satu area marshalling yang harus digunakan untuk menulis data ke aliran. Memiliki dua area marshalling yang menulis ke dalam aliran dapat mengakibatkan kerusakan aliran.

Jika Anda hanya ingin mengatur LSN dasar aliran, gunakan ClfsAdvanceLogBase, yang tidak selalu menghapus data apa pun ke penyimpanan yang stabil.

Untuk penjelasan tentang konsep dan terminologi CLFS, lihat Sistem File Log Umum.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Server 2003 R2, Windows Vista, dan versi Windows yang lebih baru.
Target Platform Desktop
Header wdm.h (termasuk Wdm.h)
Pustaka Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

Lihat juga

CLFS_LSN

ClfsAdvanceLogBase

ClfsCreateMarshallingArea

ClfsReadPreviousRestartArea

ClfsReadRestartArea