Condividi tramite


Marshal.ReAllocHGlobal(IntPtr, IntPtr) Metodo

Definizione

Ridimensiona un blocco di memoria allocato in precedenza con 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

Parametri

pv
IntPtr

nativeint

Puntatore alla memoria allocata con AllocHGlobal(IntPtr).

cb
IntPtr

nativeint

Nuova dimensione del blocco allocato. Non si tratta di un puntatore; corrisponde al conteggio dei byte richiesti, di cui è stato eseguito il cast al tipo IntPtr. Se si passa un puntatore, viene trattato come una dimensione.

Restituisce

IntPtr

nativeint

Puntatore alla memoria riallocata. Questa memoria deve essere liberata usando FreeHGlobal(IntPtr).

Attributi

Eccezioni

Memoria insufficiente per soddisfare la richiesta.

Commenti

ReAllocHGlobal è uno dei due metodi API di reallocation della memoria nella Marshal classe. (Marshal.ReAllocCoTaskMem è l'altro.

Questo metodo espone la funzione GlobalReAlloc Win32 da Kernel32.dll. Il puntatore restituito può essere diverso dall'originale. Se è diverso, il contenuto del blocco di memoria originale è stato copiato nel nuovo blocco e il blocco di memoria originale è stato liberato.

Si applica a

Vedi anche