Condividi tramite


Funzione LocalLock (winbase.h)

Blocca un oggetto memoria locale e restituisce un puntatore al primo byte del blocco di memoria dell'oggetto.

Nota Le funzioni locali hanno un sovraccarico maggiore e offrono meno funzionalità rispetto ad altre funzioni di gestione della memoria. Le nuove applicazioni devono usare le funzioni heap a meno che la documentazione non indichi che deve essere usata una funzione locale. Per altre informazioni, vedere Funzioni globali e locali.
 

Sintassi

LPVOID LocalLock(
  [in] HLOCAL hMem
);

Parametri

[in] hMem

Handle per l'oggetto memoria locale. Questo handle viene restituito dalla funzione LocalAlloc o LocalReAlloc .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un puntatore al primo byte del blocco di memoria.

Se la funzione ha esito negativo, il valore restituito è NULL. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Le strutture di dati interne per ogni oggetto memoria includono un conteggio dei blocchi inizialmente pari a zero. Per gli oggetti memoria mobile, LocalLock incrementa il conteggio di uno e la funzione LocalUnlock decrementa il conteggio di uno. Ogni chiamata riuscita eseguita da un processo a LocalLock per un oggetto deve corrispondere a una chiamata corrispondente a LocalUnlock. La memoria bloccata non verrà spostata o eliminata a meno che l'oggetto memoria non venga riallocato tramite la funzione LocalReAlloc . Il blocco di memoria di un oggetto memoria bloccata rimane bloccato in memoria fino a quando il numero di blocchi non viene decrementato su zero, al momento in cui può essere spostato o rimosso.

Gli oggetti memoria allocati con LMEM_FIXED hanno sempre un conteggio di blocchi pari a zero. Per questi oggetti, il valore del puntatore restituito è uguale al valore dell'handle specificato.

Se il blocco di memoria specificato è stato eliminato o se il blocco di memoria ha dimensioni pari a zero byte, questa funzione restituisce NULL.

Gli oggetti rimossi hanno sempre un conteggio di blocchi pari a zero.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Funzioni globali e locali

LocalAlloc

LocalFlags

LocalReAlloc

LocalUnlock

Funzioni di gestione della memoria