Marshal.AllocHGlobal Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Alloue de la mémoire non managée du processus.
Surcharges
AllocHGlobal(Int32) |
Alloue de la mémoire non managée du processus à l’aide du nombre spécifié d’octets. |
AllocHGlobal(IntPtr) |
Alloue de la mémoire non managée du processus en utilisant le pointeur vers le nombre spécifié d’octets. |
AllocHGlobal(Int32)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
Alloue de la mémoire non managée du processus à l’aide du nombre spécifié d’octets.
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
Paramètres
- cb
- Int32
Nombre requis d’octets en mémoire.
Retours
nativeint
Pointeur vers la mémoire nouvellement allouée. Cette mémoire doit être libérée à l’aide de la méthode FreeHGlobal(IntPtr).
- Attributs
Exceptions
La mémoire est insuffisante pour répondre à la demande.
Exemples
L’exemple suivant illustre l’appel de la méthode AllocHGlobal. Cet exemple de code fait partie d’un exemple plus large fourni pour 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)
Remarques
Important
Cet allocateur de mémoire native est une API héritée qui doit être utilisée exclusivement lorsqu’elle est appelée par des API Win32 spécifiques sur la plateforme Windows. Lorsque vous ciblez .NET 6 ou version ultérieure, utilisez la classe NativeMemory sur toutes les plateformes pour allouer de la mémoire native. Lorsque vous ciblez .NET 6 ou une version antérieure, utilisez AllocCoTaskMem sur toutes les plateformes pour allouer de la mémoire native.
AllocHGlobal est l’une des deux méthodes d’allocation de mémoire dans la classe Marshal. (
Lorsque AllocHGlobal appelle LocalAlloc
, il transmet un indicateur de LMEM_FIXED
, ce qui entraîne le verrouillage de la mémoire allouée. En outre, la mémoire allouée n’est pas remplie à zéro.
Voir aussi
S’applique à
AllocHGlobal(IntPtr)
- Source:
- Marshal.Unix.cs
- Source:
- Marshal.Unix.cs
- Source:
- Marshal.Unix.cs
Alloue de la mémoire non managée du processus en utilisant le pointeur vers le nombre spécifié d’octets.
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
Paramètres
- cb
-
IntPtr
nativeint
Nombre requis d’octets en mémoire.
Retours
nativeint
Pointeur vers la mémoire nouvellement allouée. Cette mémoire doit être libérée à l’aide de la méthode FreeHGlobal(IntPtr).
- Attributs
Exceptions
La mémoire est insuffisante pour répondre à la demande.
Remarques
Important
Cet allocateur de mémoire native est une API héritée qui doit être utilisée exclusivement lorsqu’elle est appelée par des API Win32 spécifiques sur la plateforme Windows. Lorsque vous ciblez .NET 6 ou version ultérieure, utilisez la classe NativeMemory sur toutes les plateformes pour allouer de la mémoire native. Lorsque vous ciblez .NET 6 ou une version antérieure, utilisez AllocCoTaskMem sur toutes les plateformes pour allouer de la mémoire native.
AllocHGlobal est l’une des deux méthodes d’allocation de mémoire dans la classe Marshal. (
Lorsque AllocHGlobal appelle LocalAlloc
, il transmet un indicateur de LMEM_FIXED
, ce qui entraîne le verrouillage de la mémoire allouée. En outre, la mémoire allouée n’est pas remplie à zéro.
Pour obtenir un exemple de code, consultez Marshal et AllocHGlobal.