Condividi tramite


Funzione LocalReAlloc (winbase.h)

Modifica le dimensioni o gli attributi di un oggetto memoria locale specificato. Le dimensioni possono aumentare o diminuire.

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

Sintassi

DECLSPEC_ALLOCATOR HLOCAL LocalReAlloc(
  [in] _Frees_ptr_opt_ HLOCAL hMem,
  [in] SIZE_T                 uBytes,
  [in] UINT                   uFlags
);

Parametri

[in] hMem

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

[in] uBytes

Nuova dimensione del blocco di memoria, in byte. Se uFlags specifica LMEM_MODIFY, questo parametro viene ignorato.

[in] uFlags

Opzioni di reallocation. Se viene specificato LMEM_MODIFY , la funzione modifica gli attributi dell'oggetto memoria (il parametro uBytes viene ignorato). In caso contrario, la funzione rialloca l'oggetto memory.

Facoltativamente, è possibile combinare LMEM_MODIFY con il valore seguente.

Valore Significato
LMEM_MOVEABLE
0x0002
Alloca memoria fissa o rimovibile.

Se la memoria è un blocco di memoria LMEM_MOVEABLE bloccato o un blocco di memoria LMEM_FIXED e questo flag non è specificato, la memoria può essere riallocata solo sul posto.

 

Se questo parametro non specifica LMEM_MODIFY, è possibile usare il valore seguente.

Valore Significato
LMEM_ZEROINIT
0x0040
Determina l'inizializzazione del contenuto di memoria aggiuntivo in zero se l'oggetto memoria è in crescita.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un handle per l'oggetto memoria reallocata.

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

Commenti

Se LocalReAlloc ha esito negativo, la memoria originale non viene liberata e l'handle e il puntatore originale sono ancora validi.

Se LocalReAlloc realloca un oggetto fisso, il valore dell'handle restituito è l'indirizzo del primo byte del blocco di memoria. Per accedere alla memoria, un processo può semplicemente eseguire il cast del valore restituito in un puntatore.

Requisiti

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

Vedere anche

Funzioni globali e locali

LocalAlloc

LocalFree

LocalLock

Funzioni di gestione della memoria