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 ZeroModeMemory function fills a memory region with zeros, based on the specified processor mode.
Syntax
VOID ZeroModeMemory(
VOID *Destination,
SIZE_T Length,
KPROCESSOR_MODE Mode
);
Parameters
Destination
[out] Puntero a la dirección inicial del bloque de memoria en cero.
Length
[in] Número de bytes en cero.
Mode
[in] Modo de procesador que determina cómo se realiza el acceso a la memoria. Mode can be one of the following values.
| Value | Meaning |
|---|---|
| KernelMode | Destination points to kernel-mode memory. The function performs a direct memory zero operation with memory_order_relaxed semantics. |
| UserMode | Destination points to user-mode memory. The function raises an exception if Destination doesn't point to user-mode memory; otherwise it performs a zero operation at the specified address with memory_order_relaxed semantics. |
Return value
None
Remarks
Esta función proporciona una manera segura de cero una región de memoria, con el mecanismo cero determinado por el modo de procesador especificado. Esto permite operaciones de memoria flexibles que se pueden adaptar a diferentes contextos de ejecución al inicializar bloques de memoria en cero.
When Mode is KernelMode:
The function performs a volatile zero operation using memory_order_relaxed semantics.
La función no se reconoce como intrínseca del compilador, por lo que el compilador nunca optimizará la llamada (por completo o reemplazará la llamada por una secuencia equivalente de instrucciones).
Cuando se devuelve la llamada, el búfer se ha sobrescrito con ceros. This function's memory accesses to the Destination will only be performed within the function (for example, the compiler can't move memory accesses out of this function).
La función puede realizar accesos a memoria no asignadas si la plataforma lo permite.
La función puede tener acceso a ubicaciones de memoria más de una vez como parte de su operación cero.
La función genera una excepción estructurada si se produce un error en la operación cero, como cuando la dirección de destino no es válida para el modo especificado o no es accesible.
El compilador nunca optimizará esta función ni creará accesos adicionales a esta ubicación de memoria antes de llamar a la función o después de que se devuelva la función (a menos que el código fuente realice explícitamente estos accesos).
Esta función funciona en todas las versiones de Windows, no solo en la más reciente. You need to consume the latest WDK to get the function declaration from the usermode_accessors.h header. You also need the library (umaccess.lib) from the latest WDK. Sin embargo, el controlador resultante se ejecutará correctamente en versiones anteriores de Windows.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo compatible | See Remarks |
| Header | usermode_accessors.h |
| Library | umaccess.lib |
| IRQL | Menor o igual que APC_LEVEL |