LocalReAlloc-Funktion (winbase.h)
Ändert die Größe oder die Attribute eines angegebenen lokalen Speicherobjekts. Die Größe kann vergrößert oder verringert werden.
Syntax
DECLSPEC_ALLOCATOR HLOCAL LocalReAlloc(
[in] _Frees_ptr_opt_ HLOCAL hMem,
[in] SIZE_T uBytes,
[in] UINT uFlags
);
Parameter
[in] hMem
Ein Handle zum lokalen Speicherobjekt, das neu zugeordnet werden soll. Dieses Handle wird entweder von der Funktion LocalAlloc oder LocalReAlloc zurückgegeben.
[in] uBytes
Die neue Größe des Speicherblocks in Bytes. Wenn uFlagsLMEM_MODIFY angibt, wird dieser Parameter ignoriert.
[in] uFlags
Die Neuzuordnungsoptionen. Wenn LMEM_MODIFY angegeben ist, ändert die Funktion nur die Attribute des Speicherobjekts (der uBytes-Parameter wird ignoriert.) Andernfalls wird das Speicherobjekt von der Funktion neu zugeordnet.
Optional können Sie LMEM_MODIFY mit dem folgenden Wert kombinieren.
Wenn dieser Parameter nicht LMEM_MODIFY angibt, können Sie den folgenden Wert verwenden.
Wert | Bedeutung |
---|---|
|
Bewirkt, dass der zusätzliche Speicherinhalt auf 0 (null) initialisiert wird, wenn das Speicherobjekt größer wird. |
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für das neu zugeordnete Speicherobjekt.
Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn LocalReAlloc fehlschlägt, wird der ursprüngliche Speicher nicht freigegeben, und das ursprüngliche Handle und der Zeiger sind weiterhin gültig.
Wenn LocalReAlloc ein festes Objekt neu zuordnet, ist der Wert des zurückgegebenen Handles die Adresse des ersten Byte des Speicherblocks. Um auf den Arbeitsspeicher zuzugreifen, kann ein Prozess den Rückgabewert einfach in einen Zeiger umwandeln.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (Windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |