Función HeapLock (heapapi.h)
Intenta adquirir el objeto de sección crítica, o bloquear, que está asociado a un montón especificado.
Sintaxis
BOOL HeapLock(
[in] HANDLE hHeap
);
Parámetros
[in] hHeap
Identificador del montón que se va a bloquear. La función HeapCreate o GetProcessHeap devuelve este identificador.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Si la función se ejecuta correctamente, el subproceso que realiza la llamada posee el bloqueo del montón. Solo el subproceso que llama podrá asignar o liberar memoria del montón. La ejecución de cualquier otro subproceso del proceso de llamada se bloqueará si ese subproceso intenta asignar o liberar memoria del montón. Estos subprocesos permanecerán bloqueados hasta que el subproceso propietario del bloqueo del montón llame a la función HeapUnlock .
La función HeapLock es principalmente útil para evitar la asignación y liberación de la memoria del montón por otros subprocesos, mientras que el subproceso de llamada usa la función HeapWalk .
Si se llama a la función HeapLock en un montón creado con la marca HEAP_NO_SERIALIZE , los resultados no se definen.
Cada llamada correcta a HeapLock debe coincidir con una llamada correspondiente a HeapUnlock. Si no se llama a HeapUnlock , se bloqueará la ejecución de cualquier otro subproceso del proceso de llamada que intente acceder al montón.
Ejemplos
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | heapapi.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |