RtlSecureZeroMemory 宏 (wdm.h)
RtlSecureZeroMemory 例程會以保證安全的方式填滿記憶體區塊,以零為單位。
語法
void RtlSecureZeroMemory(
Ptr,
[in] cnt
);
參數
Ptr
要填入零的記憶體緩衝區指標。
[in] cnt
指定要以零填滿的位元組數目。
傳回值
無
備註
RtlSecureZeroMemory 的效果與 RtlZeroMemory 的效果相同,不同之處在於它保證為零記憶體位置,即使後續未寫入記憶體位置也一樣。 (編譯程式可以優化 RtlZeroMemory 的呼叫,如果判斷呼叫端無法再次存取該記憶體範圍。)
使用 RtlSecureZeroMemory 保證敏感性資訊已零出。例如,假設函式使用局部數位變數來儲存密碼資訊。 函式結束時,密碼資訊可以保留在相同的記憶體位置,除非 由 RtlSecureZeroMemory 清除。
RtlSecureZeroMemory 的速度比 RtlZeroMemory 慢;因此,如果安全性不是問題,請改用 RtlZeroMemory 。
如果 ptr 區塊位於非分頁集區,RtlSecureZeroMemory 的呼叫端可以在任何 IRQL 上執行。 否則,呼叫端必須在 IRQL <= APC_LEVEL執行。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows Server 2003 和更新版本的 Windows 中使用。 (因為例程是以內嵌方式宣告,所以例程的主體可以包含在舊版的操作系統中。) |
目標平台 | 桌面 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
IRQL | 任何層級 (請參閱一節) |