Fungsi CcMdlWriteComplete (ntifs.h)

Rutinitas CcMdlWriteComplete membebaskan daftar deskriptor memori (MDL) yang dibuat oleh CcPrepareMdlWrite untuk file yang di-cache.

Sintaks

void CcMdlWriteComplete(
  [in] PFILE_OBJECT   FileObject,
  [in] PLARGE_INTEGER FileOffset,
  [in] PMDL           MdlChain
);

Parameter

[in] FileObject

Penunjuk objek file yang diteruskan ke CcPrepareMdlWrite.

[in] FileOffset

Nilai FileOffset yang diteruskan ke CcPrepareMdlWrite.

[in] MdlChain

Alamat rantai MDL yang dikembalikan oleh CcPrepareMdlWrite.

Nilai kembali

Tidak ada

Keterangan

Sistem file memanggil CcMdlWriteComplete untuk membebaskan daftar deskriptor memori (MDL) yang dibuat oleh CcPrepareMdlWrite untuk file yang di-cache dan menandai rentang byte yang ditentukan untuk ditulis. Semua halaman fisik yang dikunci tidak terkunci. Halaman apa pun yang dipetakan tidak dipetakan.

Jika bendera FO_WRITE_THROUGH diatur pada objek file yang diacu oleh parameter FileObject , data file segera dibersihkan ke disk. Operasi flush ini memasukkan kembali sistem file dan dapat menyebabkan CcMdlWriteComplete memunculkan pengecualian jika operasi flush gagal. Dalam hal ini, MDL belum dibebaskan dan pemanggil dapat mencoba kembali operasi.

Setelah CcMdlWriteComplete berhasil dipanggil untuk operasi IRP_MN_COMPLETE, pemanggil harus mengatur bidang MdlAddress IRP ke NULL.

Sebelum menggunakan CcMdlWriteComplete, pengembang sistem file sangat dianjurkan untuk mempelajari cara rutinitas ini digunakan dalam sampel FASTFAT.

Setiap panggilan ke CcPrepareMdlWrite harus diikuti dengan panggilan ke CcMdlWriteComplete atau CcMdlWriteAbort.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Lihat juga

CcMdlWriteAbort

CcPrepareMdlWrite