Funzione LocalLock (winbase.h)
Blocca un oggetto memoria locale e restituisce un puntatore al primo byte del blocco di memoria dell'oggetto.
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 |