Fungsi FsRtlChangeBackingFileObject (ntifs.h)
Rutinitas FsRtlChangeBackingFileObject menggantikan objek file saat ini dengan objek file baru.
Sintaks
NTSTATUS FsRtlChangeBackingFileObject(
PFILE_OBJECT CurrentFileObject,
PFILE_OBJECT NewFileObject,
FSRTL_CHANGE_BACKING_TYPE ChangeBackingType,
ULONG Flags
);
Parameter
CurrentFileObject
[in, opsional] Objek file saat ini. Jika CurrentFileObjectADALAH NULL, objek file sistem operasi saat ini diatur ke NewFileObject. Jika bukan NULL, objek file cadangan diubah ke NewFileObject hanya jika objek file cadangan OS saat ini sama dengan nilai ini. Jika objek file ini bukan milik aliran, operasi gagal.
NewFileObject
[in] Objek file baru yang akan dirujuk os dan disimpan secara internal.
ChangeBackingType
[in] Nilai enumerasi FSRTL_CHANGE_BACKING_TYPE yang menunjukkan struktur internal mana yang harus diubah untuk mereferensikan NewFileObject.
Flags
[in] Dicadangkan untuk digunakan di masa mendatang.
Mengembalikan nilai
Rutinitas FsRtlChangeBackingFileObject mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, FsRtlChangeBackingFileObject mengembalikan kode kesalahan yang sesuai. Tabel berikut berisi kode kesalahan yang mungkin dikembalikan FsRtlChangeBackingFileObject .
Menampilkan kode | Deskripsi |
---|---|
STATUS_INVALID_PARAMETER_2 | Operasi perubahan gagal karena objek file yang ditentukan NewFileObject tidak mewakili aliran yang sama dengan CurrentFileObject. |
STATUS_INVALID_PARAMETER_3 | Operasi perubahan gagal karena pemanggil menentukan jenis pencadangan yang tidak valid di ChangeBackingType. |
STATUS_INVALID_PARAMETER_4 | Operasi perubahan gagal karena pemanggil menentukan nilai yang tidak valid dalam Bendera. |
STATUS_NOT_SUPPORTED | Operasi perubahan gagal karena pemanggil memperoleh objek file dengan cara yang tidak memungkinkan pertukaran objek file berikutnya. Misalnya, jika pemanggil memperoleh objek file dengan panggilan ke CcGetFileObjectFromSectionPtrs, tidak aman untuk menukar objek file. |
Keterangan
Rutinitas FsRtlChangeBackingFileObject mengubah objek file untuk salah satu hal berikut ini:
Salah satu area kontrol gambar manajer memori untuk aliran
Area kontrol data manajer memori untuk aliran
Peta cache bersama manajer cache untuk aliran
Rutinitas FsRtlChangeBackingFileObject tidak sinkron. Ini memproses permintaan untuk perubahan objek file dan segera kembali. Manajer cache dan manajer memori menyinkronkan perubahan objek file dan tidak akan membebaskan objek file lama sampai semua operasi yang tidak lengkap yang terkait dengan objek file lama telah selesai. Status pengembalian STATUS_SUCCESS dari FsRtlChangeBackingFileObject tidak berarti bahwa sistem operasi telah mengubah objek file.
Namun, setelah FsRtlChangeBackingFileObject berjalan dengan sukses, sistem operasi mengaitkan semua operasi di masa mendatang dengan objek file baru.
Untuk mengubah objek file untuk lebih dari satu jenis backing, pemanggil harus memanggil FsRtlChangeBackingFileObject beberapa kali, satu kali agar setiap jenis backing berubah.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Rutinitas FsRtlChangeBackingFileObject tersedia dimulai dengan Windows Vista. |
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | PowerIrpDDis(wdm) |