Condividi tramite


Funzione GlobalReAlloc (winbase.h)

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

Nota Le funzioni globali 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 usata una documentazione che indica che deve essere usata una funzione globale. Per altre informazioni, vedere Funzioni globali e locali.
 

Sintassi

DECLSPEC_ALLOCATOR HGLOBAL GlobalReAlloc(
  [in] _Frees_ptr_ HGLOBAL hMem,
  [in] SIZE_T              dwBytes,
  [in] UINT                uFlags
);

Parametri

[in] hMem

Handle per l'oggetto memoria globale da riallocare. Questo handle viene restituito dalla funzione GlobalAlloc o GlobalReAlloc.

[in] dwBytes

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

[in] uFlags

Opzioni di reallocation. Se viene specificato GMEM_MODIFY , la funzione modifica gli attributi dell'oggetto memory solo (il parametro dwBytes viene ignorato. In caso contrario, la funzione rialloca l'oggetto memory.

Facoltativamente, è possibile combinare GMEM_MODIFY con il valore seguente.

Valore Significato
GMEM_MOVEABLE
0x0002
Alloca memoria rimovibile.

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

 

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

Valore Significato
GMEM_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 GlobalReAlloc realloca un oggetto rimovibile, il valore restituito è un handle per l'oggetto memory. Per convertire l'handle in un puntatore, usare la funzione GlobalLock .

Se GlobalReAlloc 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.

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

Requisiti

Requisito Valore
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

Globalalloc

GlobalDiscard

GlobalLock

Funzioni di gestione della memoria