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 |