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 tramite il numero specificato di byte. |
AllocHGlobal(IntPtr) |
Alloca memoria dalla memoria non gestita del processo tramite il puntatore al numero specificato di byte. |
AllocHGlobal(Int32)
- Origine:
- Marshal.cs
- Origine:
- Marshal.cs
- Origine:
- Marshal.cs
Alloca memoria dalla memoria non gestita del processo tramite 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 necessari nella memoria.
Restituisce
nativeint
Puntatore alla memoria appena allocata. Questa memoria deve essere liberata usando il metodo FreeHGlobal(IntPtr).
- Attributi
Eccezioni
Memoria insufficiente per soddisfare la richiesta.
Esempio
Nel codice riportato di seguito viene illustrata la chiamata al metodo AllocHGlobal. Questo esempio di codice fa parte di un esempio più grande fornito per la Marshal classe.
// 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
AllocHGlobal è uno dei due metodi di allocazione della memoria nella Marshal classe. (Marshal.AllocCoTaskMem è l'altro. Questo metodo espone la funzione LocalAlloc Win32 da Kernel32.dll.
Quando AllocHGlobal chiama LocalAlloc
, passa un LMEM_FIXED
flag, che causa il blocco della memoria allocata. Inoltre, la memoria allocata non viene riempita zero.
Vedi anche
Si applica a
AllocHGlobal(IntPtr)
- Origine:
- Marshal.Unix.cs
- Origine:
- Marshal.Unix.cs
- Origine:
- Marshal.Unix.cs
Alloca memoria dalla memoria non gestita del processo tramite il puntatore al numero specificato di byte.
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 necessari nella memoria.
Restituisce
nativeint
Puntatore alla memoria appena allocata. Questa memoria deve essere liberata usando il metodo FreeHGlobal(IntPtr).
- Attributi
Eccezioni
Memoria insufficiente per soddisfare la richiesta.
Commenti
AllocHGlobal è uno dei due metodi di allocazione della memoria nella Marshal classe. (Marshal.AllocCoTaskMem è l'altro. Questo metodo espone la funzione LocalAlloc Win32 da Kernel32.dll.
Quando AllocHGlobal chiama LocalAlloc
, passa un LMEM_FIXED
flag, che causa il blocco della memoria allocata. Inoltre, la memoria allocata non viene riempita zero.
Per vedere un codice di esempio, vedere Marshal e AllocHGlobal.