Marshal.ReAllocHGlobal(IntPtr, IntPtr) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ändert die Größe eines bereits mit AllocHGlobal(IntPtr) belegten Speicherblocks.
public:
static IntPtr ReAllocHGlobal(IntPtr pv, IntPtr cb);
[System.Security.SecurityCritical]
public static IntPtr ReAllocHGlobal (IntPtr pv, IntPtr cb);
public static IntPtr ReAllocHGlobal (IntPtr pv, IntPtr cb);
[<System.Security.SecurityCritical>]
static member ReAllocHGlobal : nativeint * nativeint -> nativeint
static member ReAllocHGlobal : nativeint * nativeint -> nativeint
Public Shared Function ReAllocHGlobal (pv As IntPtr, cb As IntPtr) As IntPtr
Parameter
- pv
-
IntPtr
nativeint
Ein Zeiger auf den mit AllocHGlobal(IntPtr) belegten Speicher.
- cb
-
IntPtr
nativeint
Die neue Größe des belegten Blocks. Dies ist kein Zeiger; es ist die Byteanzahl, die Sie anfordern, umgewandelt zum Typ IntPtr. Wenn Sie einen Zeiger übergeben, wird er als Größe behandelt.
Gibt zurück
nativeint
Ein Zeiger auf den neu reservierten Arbeitsspeicher. Dieser Speicher muss mit FreeHGlobal(IntPtr) freigegeben werden.
- Attribute
Ausnahmen
Es ist nicht genügend Arbeitsspeicher zum Erfüllen der Anforderung vorhanden.
Hinweise
ReAllocHGlobal ist eine von zwei Methoden der Speicherumlagerungs-API in der Marshal -Klasse. (Marshal.ReAllocCoTaskMem ist die andere.)
Diese Methode macht die Win32 GlobalReAlloc-Funktion aus Kernel32.dll verfügbar. Der zurückgegebene Zeiger kann sich vom Ursprünglichen unterscheiden. Wenn dies anders ist, wurde der Inhalt des ursprünglichen Speicherblocks in den neuen Block kopiert, und der ursprüngliche Speicherblock wurde freigegeben.