Функция RtlSecureZeroMemory (wdm.h)

Подпрограмма RtlSecureZeroMemory заполняет блок памяти нулями таким образом, чтобы гарантировать безопасность.

Синтаксис

PVOID RtlSecureZeroMemory(
  [out] PVOID  ptr,
  [in]  SIZE_T cnt
);

Параметры

[out] ptr

Указатель на буфер памяти для заполнения нулями.

[in] cnt

Указывает количество байтов, заполняемых нулями.

Возвращаемое значение

None

Remarks

Эффект RtlSecureZeroMemory идентичен эффекту RtlZeroMemory, за исключением того, что он гарантированно равен нулю расположения в памяти, даже если он впоследствии не записывается. (Компилятор может оптимизировать вызов RtlZeroMemory, если определяет, что вызывающий объект снова не обращается к диапазону памяти.)

Используйте RtlSecureZeroMemory , чтобы гарантировать обнуление конфиденциальной информации. Например, предположим, что функция использует переменную локального массива для хранения сведений о пароле. После завершения работы функции сведения о пароле могут оставаться в том же расположении памяти, если только rtlSecureZeroMemory не обнуляется.

RtlSecureZeroMemory медленнее , чем RtlZeroMemory; Поэтому, если безопасность не является проблемой, используйте вместо нее RtlZeroMemory .

Вызывающие методы RtlSecureZeroMemory могут выполняться в любом IRQL, если блок ptr находится в пуле без пачки. В противном случае вызывающий объект должен работать в среде IRQL <= APC_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Server 2003 и более поздних версиях Windows. (Так как подпрограмма объявлена встроенной, ее тело можно включить в более ранние версии операционной системы.)
Целевая платформа Персональный компьютер
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
IRQL Любой уровень (см. раздел "Примечания")

См. также раздел

RtlFillMemory

RtlZeroMemory