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 Speicherblocks, der zuvor mit AllocHGlobal(IntPtr)zugeordnet wurde.
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 Speicher, der mit AllocHGlobal(IntPtr)zugeordnet ist.
- cb
-
IntPtr
nativeint
Die neue Größe des zugewiesenen Blocks. Dies ist kein Zeiger; es ist die Byteanzahl, die Sie anfordern, in den Typ IntPtrumwandeln. Wenn Sie einen Zeiger übergeben, wird er als Größe behandelt.
Gibt zurück
nativeint
Ein Zeiger auf den neu zugeordneten Speicher. Dieser Speicher muss mit FreeHGlobal(IntPtr)freigegeben werden.
- Attribute
Ausnahmen
Es ist nicht genügend Arbeitsspeicher vorhanden, um die Anforderung zu erfüllen.
Hinweise
Wichtig
Diese systemeigene Speicherverknürung ist eine Legacy-API, die ausschließlich verwendet werden sollte, wenn sie von bestimmten Win32-APIs auf der Windows-Plattform aufgerufen wird. Verwenden Sie bei der Zielbestimmung von .NET 6 oder höher die NativeMemory Klasse auf allen Plattformen, um nativen Speicher zuzuweisen. Verwenden Sie bei der Zielbestimmung von .NET 6 oder einer früheren Version AllocCoTaskMem auf allen Plattformen, um nativen Speicher zuzuweisen.
ReAllocHGlobal ist eine von zwei Speicher-Reallocation-API-Methoden in der Marshal-Klasse. (Marshal.ReAllocCoTaskMem ist die andere.)
Diese Methode macht die Win32-GlobalReAlloc--Funktion aus Kernel32.dllverfügbar. Der zurückgegebene Zeiger kann sich vom Original unterscheiden. Wenn dies anders ist, wurden die Inhalte des ursprünglichen Speicherblocks in den neuen Block kopiert, und der ursprüngliche Speicherblock wurde freigegeben.