Marshal.AllocHGlobal Méthode

Définition

Alloue de la mémoire à partir de la mémoire non managée du processus.

Surcharges

AllocHGlobal(Int32)

Alloue de la mémoire à partir de la mémoire non managée du processus à l'aide du nombre d'octets spécifié.

AllocHGlobal(IntPtr)

Alloue de la mémoire à partir de la mémoire non managée du processus à l'aide du pointeur vers le nombre d'octets spécifié.

AllocHGlobal(Int32)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

Alloue de la mémoire à partir de la mémoire non managée du processus à l'aide du nombre d'octets spécifié.

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 d'octets requis en mémoire.

Retours

IntPtr

nativeint

Pointeur vers la mémoire nouvellement allouée. Cette mémoire doit être libérée en utilisant la méthode FreeHGlobal(IntPtr).

Attributs

Exceptions

La mémoire est insuffisante pour répondre à la demande.

Exemples

L'exemple suivant montre l'appel à la méthode AllocHGlobal. Cet exemple de code fait partie d’un exemple plus grand fourni pour 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)

Remarques

AllocHGlobal est l’une des deux méthodes d’allocation de mémoire de la Marshal classe . (Marshal.AllocCoTaskMem est l’autre.) Cette méthode expose la fonction Win32 LocalAlloc à partir de Kernel32.dll.

Quand AllocHGlobal appelle LocalAlloc, il passe un LMEM_FIXED indicateur, ce qui entraîne le verrouillage de la mémoire allouée. En outre, la mémoire allouée n’est pas vide.

Voir aussi

S’applique à

AllocHGlobal(IntPtr)

Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs

Alloue de la mémoire à partir de la mémoire non managée du processus à l'aide du pointeur vers le nombre d'octets spécifié.

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 d'octets requis en mémoire.

Retours

IntPtr

nativeint

Pointeur vers la mémoire nouvellement allouée. Cette mémoire doit être libérée en utilisant la méthode FreeHGlobal(IntPtr).

Attributs

Exceptions

La mémoire est insuffisante pour répondre à la demande.

Remarques

AllocHGlobal est l’une des deux méthodes d’allocation de mémoire de la Marshal classe . (Marshal.AllocCoTaskMem est l’autre.) Cette méthode expose la fonction Win32 LocalAlloc à partir de Kernel32.dll.

Quand AllocHGlobal appelle LocalAlloc, il passe un LMEM_FIXED indicateur, ce qui entraîne le verrouillage de la mémoire allouée. En outre, la mémoire allouée n’est pas vide.

Pour obtenir un exemple de code, consultez Marshal et AllocHGlobal.

Voir aussi

S’applique à