Макрос RtlSecureZeroMemory (wdm.h)
Подпрограмма RtlSecureZeroMemory заполняет блок памяти нулями таким образом, чтобы гарантировать безопасность.
Синтаксис
void RtlSecureZeroMemory(
Ptr,
[in] cnt
);
Параметры
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 | Любой уровень (см. раздел "Примечания") |