Freigeben über


Marshal.ReAllocHGlobal(IntPtr, IntPtr) Methode

Definition

Ä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

IntPtr

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.

Gilt für:

Weitere Informationen