Marshal.AllocHGlobal Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Alloca memoria dalla memoria non gestita del processo.
Overload
AllocHGlobal(Int32) |
Alloca memoria dalla memoria non gestita del processo utilizzando il numero specificato di byte. |
AllocHGlobal(IntPtr) |
Alloca la memoria dalla memoria non gestita del processo usando il puntatore al numero di byte specificato. |
AllocHGlobal(Int32)
- Origine:
- Marshal.cs
- Origine:
- Marshal.cs
- Origine:
- Marshal.cs
Alloca memoria dalla memoria non gestita del processo utilizzando il numero specificato di byte.
public:
static IntPtr AllocHGlobal(int cb);
[System.Security.SecurityCritical]
public static IntPtr AllocHGlobal (int cb);
public static IntPtr AllocHGlobal (int cb);
[<System.Security.SecurityCritical>]
static member AllocHGlobal : int -> nativeint
static member AllocHGlobal : int -> nativeint
Public Shared Function AllocHGlobal (cb As Integer) As IntPtr
Parametri
- cb
- Int32
Numero di byte richiesto in memoria.
Restituisce
nativeint
Puntatore alla memoria appena allocata. Questa memoria deve essere rilasciata usando il metodo FreeHGlobal(IntPtr).
- Attributi
Eccezioni
Memoria insufficiente per soddisfare la richiesta.
Esempio
Nell'esempio seguente viene illustrata la chiamata al metodo AllocHGlobal. Questo esempio di codice fa parte di un esempio più ampio fornito per la classe Marshal.
// Demonstrate how to call GlobalAlloc and
// GlobalFree using the Marshal class.
IntPtr hglobal = Marshal::AllocHGlobal(100);
Marshal::FreeHGlobal(hglobal);
// Demonstrate how to call GlobalAlloc and
// GlobalFree using the Marshal class.
IntPtr hglobal = Marshal.AllocHGlobal(100);
Marshal.FreeHGlobal(hglobal);
' Demonstrate how to call GlobalAlloc and
' GlobalFree using the Marshal class.
Dim hglobal As IntPtr = Marshal.AllocHGlobal(100)
Marshal.FreeHGlobal(hglobal)
Commenti
Importante
Questo allocatore di memoria nativa è un'API legacy che deve essere usata esclusivamente quando viene chiamato per da API Win32 specifiche nella piattaforma Windows. Quando la destinazione è .NET 6 o versione successiva, usare la classe NativeMemory in tutte le piattaforme per allocare memoria nativa. Quando la destinazione è .NET 6 o versioni precedenti, usare AllocCoTaskMem in tutte le piattaforme per allocare memoria nativa.
AllocHGlobal è uno dei due metodi di allocazione di memoria nella classe Marshal. (
Quando AllocHGlobal chiama LocalAlloc
, passa un flag di LMEM_FIXED
, che causa il blocco della memoria allocata. Inoltre, la memoria allocata non viene riempita senza riempimento.
Vedi anche
Si applica a
AllocHGlobal(IntPtr)
- Origine:
- Marshal.Unix.cs
- Origine:
- Marshal.Unix.cs
- Origine:
- Marshal.Unix.cs
Alloca la memoria dalla memoria non gestita del processo usando il puntatore al numero di byte specificato.
public:
static IntPtr AllocHGlobal(IntPtr cb);
[System.Security.SecurityCritical]
public static IntPtr AllocHGlobal (IntPtr cb);
public static IntPtr AllocHGlobal (IntPtr cb);
[<System.Security.SecurityCritical>]
static member AllocHGlobal : nativeint -> nativeint
static member AllocHGlobal : nativeint -> nativeint
Public Shared Function AllocHGlobal (cb As IntPtr) As IntPtr
Parametri
- cb
-
IntPtr
nativeint
Numero di byte richiesto in memoria.
Restituisce
nativeint
Puntatore alla memoria appena allocata. Questa memoria deve essere rilasciata usando il metodo FreeHGlobal(IntPtr).
- Attributi
Eccezioni
Memoria insufficiente per soddisfare la richiesta.
Commenti
Importante
Questo allocatore di memoria nativa è un'API legacy che deve essere usata esclusivamente quando viene chiamato per da API Win32 specifiche nella piattaforma Windows. Quando la destinazione è .NET 6 o versione successiva, usare la classe NativeMemory in tutte le piattaforme per allocare memoria nativa. Quando la destinazione è .NET 6 o versioni precedenti, usare AllocCoTaskMem in tutte le piattaforme per allocare memoria nativa.
AllocHGlobal è uno dei due metodi di allocazione di memoria nella classe Marshal. (
Quando AllocHGlobal chiama LocalAlloc
, passa un flag di LMEM_FIXED
, che causa il blocco della memoria allocata. Inoltre, la memoria allocata non viene riempita senza riempimento.
Per un esempio di codice, vedere Marshal e AllocHGlobal.