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