Bagikan melalui


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)

Lihat juga

FSRTL_CHANGE_BACKING_TYPE