Marshal.ReAllocHGlobal(IntPtr, IntPtr) Metoda

Definice

Změní velikost bloku paměti, který byl dříve přidělen pomocí AllocHGlobal(IntPtr).

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

Parametry

pv
IntPtr

nativeint

Ukazatel na paměť přidělený AllocHGlobal(IntPtr).

cb
IntPtr

nativeint

Nová velikost přiděleného bloku. Toto není ukazatel; jedná se o počet bajtů, který požadujete, přetypování na typ IntPtr. Pokud předáte ukazatel, považuje se za velikost.

Návraty

IntPtr

nativeint

Ukazatel na relokovanou paměť. Tato paměť musí být vydána pomocí FreeHGlobal(IntPtr).

Atributy

Výjimky

Pro splnění požadavku není dostatek paměti.

Poznámky

Důležitý

Tento nativní alokátor paměti je starší verze rozhraní API, které by se mělo používat výhradně při volání pro konkrétní rozhraní API Win32 na platformě Windows. Při cílení na .NET 6 nebo novější použijte třídu NativeMemory na všech platformách k přidělení nativní paměti. Při cílení na .NET 6 nebo starší použijte AllocCoTaskMem na všech platformách k přidělení nativní paměti.

ReAllocHGlobal je jednou ze dvou metod rozhraní API pro relokaci paměti ve třídě Marshal. (Marshal.ReAllocCoTaskMem je druhá.)

Tato metoda zpřístupňuje funkci Win32 GlobalReAlloc z Kernel32.dll. Vrácený ukazatel se může lišit od původního ukazatele. Pokud se liší, obsah původního bloku paměti byl zkopírován do nového bloku a původní blok paměti byl uvolněn.

Platí pro

Viz také