Marshal.ReAllocHGlobal(IntPtr, IntPtr) Metoda

Definicja

Zmienia rozmiar bloku pamięci przydzielonej wcześniej za pomocą polecenia 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

Wskaźnik do pamięci przydzielonej za pomocą AllocHGlobal(IntPtr)polecenia .

cb
IntPtr

nativeint

Nowy rozmiar przydzielonego bloku. To nie jest wskaźnik; jest to liczba bajtów, które żądasz, rzutowanie do typu IntPtr. Jeśli przekazujesz wskaźnik, jest on traktowany jako rozmiar.

Zwraca

IntPtr

nativeint

Wskaźnik do przydzielonej pamięci. Ta pamięć musi zostać zwolniona przy użyciu polecenia FreeHGlobal(IntPtr).

Atrybuty

Wyjątki

Za mało pamięci do spełnienia żądania.

Uwagi

ReAllocHGlobal jest jedną z dwóch metod interfejsu Marshal API alokacji pamięci w klasie . (Marshal.ReAllocCoTaskMem to druga).

Ta metoda uwidacznia funkcję Win32 GlobalReAlloc z Kernel32.dll. Zwrócony wskaźnik może różnić się od oryginalnego. Jeśli jest inny, zawartość oryginalnego bloku pamięci została skopiowana do nowego bloku, a oryginalny blok pamięci został zwolniony.

Dotyczy

Zobacz też