RtlSecureZeroMemory 函式 (wdm.h)

RtlSecureZeroMemory 例程會以保證安全的方式,以零填滿記憶體區塊。

語法

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

參數

[out] ptr

要填入零的記憶體緩衝區指標。

[in] cnt

指定要以零填入的位元組數目。

傳回值

備註

RtlSecureZeroMemory 的效果與 RtlZeroMemory 的效果相同,不同之處在於它保證為零記憶體位置,即使後續未寫入。 (編譯程式可以優化 對 RtlZeroMemory 的呼叫,如果判斷呼叫端不會再次存取該記憶體範圍。)

使用 RtlSecureZeroMemory 保證敏感性資訊已零出。例如,假設函式使用局部數位變數來儲存密碼資訊。 函式結束時,密碼資訊可以保留在相同的記憶體位置,除非 由 RtlSecureZeroMemory 清除。

RtlSecureZeroMemoryRtlZeroMemory 慢;因此,如果安全性不是問題,請改用 RtlZeroMemory

如果 ptr 區塊位於非分頁集區中,則 RtlSecureZeroMemory 的呼叫端可以在任何 IRQL 上執行。 否則,呼叫端必須在 IRQL <= APC_LEVEL執行。

規格需求

需求
最低支援的用戶端 適用於 Windows Server 2003 和更新版本的 Windows。 (因為例程是以內嵌方式宣告,所以例程的主體可以包含在舊版操作系統中。)
目標平台 桌面
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
IRQL 任何層級 (請參閱一節)

另請參閱

RtlFillMemory

RtlZeroMemory