winbase.h


LocalFree

la función LocalFree libera el objeto de memoria local e invalida su manipulador.

Sintaxis

HLOCAL LocalFree(
    HLOCAL hMem  // manipulador de objeto de memoria local
   );

Parámetros:

hMem: identifica el objeto de memoria local. Este manipulador es devuelto por por las funciones LocalAlloc o LocalReAlloc.

Valor de retorno

Si la función tiene éxito, el valor de retorno es NULL.

Si la función falla, el valor de retorno es igual al manipulador de memoria local. Para obtener información más detallada sobre el error, llamar a la función GetLastError.

Observaciones

Si el proceso intenta examinar o modificar la memoria después de que haya sido liberada, se puede producir una corrupción del montón o se puede generar una excepción de violación de acceso (EXCEPTION_ACCESS_VIOLATION).

Si el parámetro hMem es NULL, LocalFree ignora el parámetro y devuelve NULL.

LocalFree libera la memoria aunque el objeto de memoria esté bloqueado por una llamada previa a la función LocalLock. La función LocalLock bloquea el objeto de memoria local e incrementa el contador de bloqueos en una unidad. La función LocalUnlock libera el bloqueo y decrementa el contador de bloqueos en una unidad. Para obtener el contador de bloqueos de un objeto de memoria local, usar la función LocalFlags. LocalFree liberará un objeto de memoria bloqueado. Un objeto de memoria bloqueado tiene un valor del contador de bloqueos mayor de cero.

Tanto GlobalFree como LocalFree liberarán un objeto de memoria bloqueado. Sin embargo, si se ejecuta una aplicación bajo la versión de depuración de Windows NT o Windows 95, tanto GlobalFree como LocalFree lanzarán un mensaje que informará de que esto está ocurriendo. Si se está depurando la aplicación, GlobalFree y LocalFree introducen un punto de ruptura justo antes de liberar un objeto bloqueado. Esto permite hacer una doble comprobación del comportamiento indicado.