Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
The RtlSecureZeroMemory routine securely fills a block of memory with zeros in a way that is guaranteed not to be optimized away by the compiler.
Syntax
PVOID RtlSecureZeroMemory(
[in, out] PVOID Ptr,
[in] SIZE_T cnt
);
Parameters
[in, out] Ptr
Puntero al bloque de memoria que se va a rellenar de forma segura con ceros.
[in] cnt
Número de bytes que se van a rellenar con ceros.
Return value
RtlSecureZeroMemory returns a pointer to the memory block that was filled (Ptr).
Remarks
La función usa accesos de memoria volátiles para asegurarse de que el compilador no puede optimizar la operación de cero, incluso si la memoria parece no usarse después de la llamada.
This differs from RtlZeroMemory, which may be optimized away by the compiler if the memory is not accessed again.
La función garantiza que todos los bytes especificados se establecerán en cero y que esta operación no se quitará mediante optimizaciones del compilador.
Callers of RtlSecureZeroMemory can be running at any IRQL if the destination memory block is in nonpaged system memory. De lo contrario, el autor de la llamada debe ejecutarse en IRQL <= APC_LEVEL.
Example
UCHAR SensitiveData[256];
UCHAR CryptographicKey[32];
// Use sensitive data
ProcessSensitiveInformation(SensitiveData);
PerformCryptographicOperation(CryptographicKey);
// Securely clear sensitive data from memory
// This will not be optimized away by the compiler
RtlSecureZeroMemory(SensitiveData, sizeof(SensitiveData));
RtlSecureZeroMemory(CryptographicKey, sizeof(CryptographicKey));
Requirements
| Requirement | Value |
|---|---|
| Target Platform | Universal |
| Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | Cualquier nivel (consulte la sección Comentarios) |