Fungsi RtlFillNonVolatileMemory (ntddk.h)
RtlFillNonVolatileMemory rutin mengisi buffer tujuan non-volatil dengan nilai yang diberikan.
Sintaks
NTSYSAPI NTSTATUS RtlFillNonVolatileMemory(
PVOID NvToken,
VOID *NvDestination,
SIZE_T Size,
const UCHAR Value,
ULONG Flags
);
Parameter
NvToken
Penunjuk ke struktur buram yang memiliki informasi lebih lanjut tentang wilayah memori non-volatil yang telah dikembalikan RtlGetNonVolatileToken .
NvDestination
Penunjuk ke buffer tujuan yang tidak volatil.
Size
Menentukan panjang, dalam byte, dari operasi pengisian.
Value
UCHAR yang berisi nilai untuk mengisi buffer tujuan.
Flags
Nilai jenis ULONG yang berisi satu atau beberapa bendera berikut:
Bendera | Makna |
---|---|
FILL_NV_MEMORY_FLAG_FLUSH | Atur nilai yang disediakan, lalu bersihkan rentang tujuan. Kecuali FILL_NV_MEMORY_FLAG_NO_DRAIN ditentukan, flush diikuti dengan pengurasan. Bendera ini memastikan bahwa data tahan lama bahkan jika terjadi kehilangan daya sistem. |
FILL_NV_MEMORY_FLAG_NON_TEMPORAL | Lakukan memset non-temporal saat tersedia. Non-temporal berarti bahwa penembolokan data tidak diperlukan. Jika prosesor tidak mendukung operasi non-temporal untuk rentang yang lebih kecil dari ukuran bus alamat, lakukan memset reguler diikuti dengan flush dan drain. Jika prosesor mengabaikan gerakan non-temporal sama sekali, RtlSetNonVolatileMemory tidak menggantinya dengan flush dan drain. Namun, jika Windows tidak memiliki implementasi untuk arsitektur tertentu (misalnya ARM64), ganti dengan flush dan drain. |
FILL_NV_MEMORY_FLAG_PERSIST | Pastikan bahwa memset bertahan baik dengan membersihkan atau menggunakan gerakan non-temporal. Biasanya, sistem menggunakan pendekatan yang paling murah untuk mempertahankan data. Bendera ini memastikan bahwa data tahan lama bahkan jika terjadi kehilangan daya sistem. Diabaikan ketika FILL_NV_MEMORY_FLAG_PERSIST ditentukan. |
FILL_NV_MEMORY_FLAG_NO_DRAIN | Memberi tahu rutinitas untuk tidak menunggu flush selesai. Harus ditentukan bersama dengan FILL_NV_MEMORY_FLAG_FLUSH dan tanpa FILL_NV_MEMORY_FLAG_PERSIST atau FILL_NV_MEMORY_FLAG_NON_TEMPORAL. |
Mengembalikan nilai
Rutinitas mengembalikan salah satu kode status:
Menampilkan kode | Deskripsi |
---|---|
|
NvToken adalah pointer atau token yang tidak valid. |
|
Permintaan berhasil. |
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10, versi 1903 |
Header | ntddk.h |
IRQL | DPC_LEVEL |