Функция RtlFillNonVolatileMemory (ntddk.h)
Подпрограмма RtlFillNonVolatileMemory заполняет буфер назначения, не изменяющийся, заданным значением.
Синтаксис
NTSYSAPI NTSTATUS RtlFillNonVolatileMemory(
PVOID NvToken,
VOID *NvDestination,
SIZE_T Size,
const UCHAR Value,
ULONG Flags
);
Параметры
NvToken
Указатель на непрозрачную структуру, которая содержит дополнительные сведения о ненезависимой области памяти, которая RtlGetNonVolatileToken возвращена.
NvDestination
Указатель на буфер назначения, не изменяющийся.
Size
Указывает длину операции заполнения в байтах.
Value
UCHAR, содержащий значение, с помощью которого нужно заполнить целевой буфер.
Flags
Значение типа ULONG, содержащее один или несколько следующих флагов:
Флаги | Значение |
---|---|
FILL_NV_MEMORY_FLAG_FLUSH | Задайте предоставленное значение, а затем снимите диапазон назначения. Если FILL_NV_MEMORY_FLAG_NO_DRAIN не указано, за сливом следует слив. Этот флаг гарантирует, что данные устойчивы даже в случае потери питания системы. |
FILL_NV_MEMORY_FLAG_NON_TEMPORAL | При наличии непорпорального набора memset. Непорпоральная означает, что кэширование данных не требуется. Если процессор не поддерживает непорпоральные операции для диапазонов меньше размера адресной шины, выполните обычный набор memset, за которым следует очистка и очистка. Если процессор игнорирует непорпоральные перемещения в целом, RtlSetNonVolatileMemory не заменяет его очисткой и очисткой. Однако если Windows не имеет реализации для данной архитектуры (например ARM64), замените ее на очистку и очистку. |
FILL_NV_MEMORY_FLAG_PERSIST | Убедитесь, что набор memset сохраняется либо путем очистки, либо с помощью непоральных перемещений. Как правило, система использует подход, который является наименее дорогостоящим для сохранения данных. Этот флаг гарантирует, что данные устойчивы даже в случае потери питания системы. Игнорируется при указании FILL_NV_MEMORY_FLAG_PERSIST. |
FILL_NV_MEMORY_FLAG_NO_DRAIN | Сообщает подпрограмме не ждать завершения очистки. Необходимо указать в сочетании с FILL_NV_MEMORY_FLAG_FLUSH и без FILL_NV_MEMORY_FLAG_PERSIST или FILL_NV_MEMORY_FLAG_NON_TEMPORAL. |
Возвращаемое значение
Подпрограмма возвращает один из кодов состояния:
Возвращаемый код | Описание |
---|---|
|
NvToken является недопустимым указателем или маркером. |
|
Запрос выполнен успешно. |
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 версии 1903 |
заголовка | ntddk.h |
IRQL | DPC_LEVEL |