Macro RtlSecureZeroMemory (wdm.h)
La routine RtlSecureZeroMemory riempie un blocco di memoria con zeri in modo da garantire la sicurezza.
Sintassi
void RtlSecureZeroMemory(
Ptr,
[in] cnt
);
Parametri
Ptr
Puntatore al buffer di memoria da riempire con zeri.
[in] cnt
Specifica il numero di byte da riempire con zeri.
Valore restituito
nessuno
Osservazioni
L'effetto di RtlSecureZeroMemory è identico a quello di RtlZeroMemory, ad eccezione del fatto che è garantito zero la posizione di memoria, anche se non viene successivamente scritta in . Il compilatore può ottimizzare una chiamata a RtlZeroMemory, se determina che il chiamante non accede di nuovo a tale intervallo di memoria.
Usare RtlSecureZeroMemory per garantire che le informazioni riservate siano state zero. Si supponga, ad esempio, che una funzione usi una variabile di matrice locale per archiviare le informazioni sulla password. Una volta terminata la funzione, le informazioni sulla password possono rimanere nella stessa posizione di memoria, a meno che non venga terminata da RtlSecureZeroMemory.
RtlSecureZeroMemory è più lento di RtlZeroMemory; pertanto, se la sicurezza non è un problema, usare invece RtlZeroMemory .
I chiamanti di RtlSecureZeroMemory possono essere eseguiti in qualsiasi IRQL se il blocco ptr si trova in un pool non di paging. In caso contrario, il chiamante deve essere in esecuzione in IRQL <= APC_LEVEL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Server 2003 e versioni successive di Windows. Poiché la routine è dichiarata inline, il corpo della routine può essere incluso nelle versioni precedenti del sistema operativo. |
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | Qualsiasi livello (vedere la sezione Osservazioni) |