Macro RtlSecureZeroMemory (wdm.h)
La rutina RtlSecureZeroMemory rellena un bloque de memoria con ceros de forma que se garantiza que sea seguro.
Sintaxis
void RtlSecureZeroMemory(
Ptr,
[in] cnt
);
Parámetros
Ptr
Puntero al búfer de memoria que se va a rellenar con ceros.
[in] cnt
Especifica el número de bytes que se van a rellenar con ceros.
Valor devuelto
None
Observaciones
El efecto de RtlSecureZeroMemory es idéntico al de RtlZeroMemory, salvo que se garantiza que cero la ubicación de memoria, incluso si no se escribe posteriormente en. (El compilador puede optimizar una llamada a RtlZeroMemory, si determina que el autor de la llamada no tiene acceso de nuevo a ese intervalo de memoria).
Use RtlSecureZeroMemory para garantizar que se ha eliminado la información confidencial. Por ejemplo, supongamos que una función usa una variable de matriz local para almacenar información de contraseña. Una vez que se cierra la función, la información de contraseña puede permanecer en la misma ubicación de memoria, a menos que RtlSecureZeroMemory se quede sin cero.
RtlSecureZeroMemory es más lento que RtlZeroMemory; Por lo tanto, si la seguridad no es un problema, use RtlZeroMemory en su lugar.
Los autores de llamadas de RtlSecureZeroMemory se pueden ejecutar en cualquier IRQL si el bloque ptr está en un grupo no paginado. De lo contrario, el autor de la llamada debe ejecutarse en IRQL <= APC_LEVEL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Server 2003 y versiones posteriores de Windows. (Dado que la rutina se declara insertada, el cuerpo de la rutina se puede incluir en versiones anteriores del sistema operativo). |
Plataforma de destino | Escritorio |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | Cualquier nivel (consulte la sección Comentarios) |