Marshal.AllocHGlobal Méthode

Définition

Alloue de la mémoire à partir de la mémoire non managée du processus.Allocates memory from the unmanaged memory of the process.

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é.Allocates memory from the unmanaged memory of the process by using the specified number of bytes.

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é.Allocates memory from the unmanaged memory of the process by using the pointer to the specified number of bytes.

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é.Allocates memory from the unmanaged memory of the process by using the specified number of bytes.

public:
 static IntPtr AllocHGlobal(int cb);
[System.Security.SecurityCritical]
public static IntPtr AllocHGlobal (int cb);
public static IntPtr AllocHGlobal (int cb);
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.The required number of bytes in memory.

Retours

Pointeur vers la mémoire nouvellement allouée.A pointer to the newly allocated memory. Cette mémoire doit être libérée en utilisant la méthode FreeHGlobal(IntPtr).This memory must be released using the FreeHGlobal(IntPtr) method.

Attributs

Exceptions

La mémoire est insuffisante pour répondre à la demande.There is insufficient memory to satisfy the request.

Exemples

L'exemple suivant montre l'appel à la méthode AllocHGlobal.The following example demonstrates calling the AllocHGlobal method. Cet exemple de code fait partie d’un exemple plus complet fourni pour la classe Marshal.This code example is part of a larger example provided for the Marshal class.

// 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 classe Marshal.AllocHGlobal is one of two memory allocation methods in the Marshal class. (Marshal.AllocCoTaskMem est l’autre.) Cette méthode expose la fonction Win32 LocalAlloc à partir de Kernel32. dll.(Marshal.AllocCoTaskMem is the other.) This method exposes the Win32 LocalAlloc function from Kernel32.dll.

Lorsque AllocHGlobal appelle LocalAlloc, il passe un indicateur LMEM_FIXED, ce qui entraîne le verrouillage de la mémoire allouée.When AllocHGlobal calls LocalAlloc, it passes a LMEM_FIXED flag, which causes the allocated memory to be locked in place. En outre, la mémoire allouée n’est pas remplie de zéro.Also, the allocated memory is not zero-filled.

Voir aussi

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é.Allocates memory from the unmanaged memory of the process by using the pointer to the specified number of bytes.

public:
 static IntPtr AllocHGlobal(IntPtr cb);
[System.Security.SecurityCritical]
public static IntPtr AllocHGlobal (IntPtr cb);
public static IntPtr AllocHGlobal (IntPtr cb);
static member AllocHGlobal : nativeint -> nativeint
Public Shared Function AllocHGlobal (cb As IntPtr) As IntPtr

Paramètres

cb
IntPtr

Nombre d'octets requis en mémoire.The required number of bytes in memory.

Retours

Pointeur vers la mémoire nouvellement allouée.A pointer to the newly allocated memory. Cette mémoire doit être libérée en utilisant la méthode FreeHGlobal(IntPtr).This memory must be released using the FreeHGlobal(IntPtr) method.

Attributs

Exceptions

La mémoire est insuffisante pour répondre à la demande.There is insufficient memory to satisfy the request.

Remarques

AllocHGlobal est l’une des deux méthodes d’allocation de mémoire de la classe Marshal.AllocHGlobal is one of two memory allocation methods in the Marshal class. (Marshal.AllocCoTaskMem est l’autre.) Cette méthode expose la fonction Win32 LocalAlloc à partir de Kernel32. dll.(Marshal.AllocCoTaskMem is the other.) This method exposes the Win32 LocalAlloc function from Kernel32.dll.

Lorsque AllocHGlobal appelle LocalAlloc, il passe un indicateur LMEM_FIXED, ce qui entraîne le verrouillage de la mémoire allouée.When AllocHGlobal calls LocalAlloc, it passes a LMEM_FIXED flag, which causes the allocated memory to be locked in place. En outre, la mémoire allouée n’est pas remplie de zéro.Also, the allocated memory is not zero-filled.

Pour obtenir un exemple de code, consultez Marshal et AllocHGlobal.For example code, see Marshal and AllocHGlobal.

Voir aussi

S’applique à