共用方式為


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 任何層級 (請參閱一節)

另請參閱

RtlFillMemory

RtlZeroMemory