GlobalReAlloc-Funktion (winbase.h)
Ändert die Größe oder attribute eines angegebenen globalen Speicherobjekts. Die Größe kann vergrößert oder verringert werden.
Syntax
DECLSPEC_ALLOCATOR HGLOBAL GlobalReAlloc(
[in] _Frees_ptr_ HGLOBAL hMem,
[in] SIZE_T dwBytes,
[in] UINT uFlags
);
Parameter
[in] hMem
Ein Handle zum globalen Speicherobjekt, das neu zugeordnet werden soll. Dieses Handle wird entweder von der Funktion GlobalAlloc oder GlobalReAlloc zurückgegeben.
[in] dwBytes
Die neue Größe des Speicherblocks in Bytes. Wenn uFlagsGMEM_MODIFY angibt, wird dieser Parameter ignoriert.
[in] uFlags
Die Neuzuweisungsoptionen. Wenn GMEM_MODIFY angegeben wird, ändert die Funktion nur die Attribute des Speicherobjekts (der dwBytes-Parameter wird ignoriert.) Andernfalls ordnet die Funktion das Speicherobjekt neu zu.
Optional können Sie GMEM_MODIFY mit dem folgenden Wert kombinieren.
Wenn dieser Parameter nicht GMEM_MODIFY angibt, können Sie den folgenden Wert verwenden.
Wert | Bedeutung |
---|---|
|
Bewirkt, dass der zusätzliche Speicherinhalt auf 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 zugewiesene Speicherobjekt.
Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn GlobalReAlloc ein bewegliches Objekt neu ordnet, ist der Rückgabewert ein Handle für das Speicherobjekt. Um das Handle in einen Zeiger zu konvertieren, verwenden Sie die GlobalLock-Funktion .
Wenn GlobalReAlloc ein festes Objekt neu ordnet, ist der Wert des zurückgegebenen Handle die Adresse des ersten Byte des Speicherblocks. Um auf den Arbeitsspeicher zuzugreifen, kann ein Prozess einfach den Rückgabewert in einen Zeiger umwandeln.
Wenn GlobalReAlloc fehlschlägt, wird der ursprüngliche Arbeitsspeicher nicht freigegeben, und das ursprüngliche Handle und der zeiger sind weiterhin gültig.
Anforderungen
Anforderung | Wert |
---|---|
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 (einschließlich Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |