Marshal.AllocHGlobal Marshal.AllocHGlobal Marshal.AllocHGlobal Marshal.AllocHGlobal Method

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) AllocHGlobal(Int32) AllocHGlobal(Int32) 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) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) 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) AllocHGlobal(Int32) AllocHGlobal(Int32) 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);
static member AllocHGlobal : int -> nativeint
Public Shared Function AllocHGlobal (cb As Integer) As IntPtr

Paramètres

cb
Int32 Int32 Int32 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.

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 Marshal pour la classe.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

AllocHGlobalest l’une des deux méthodes d’allocation de Marshal mémoire dans la classe.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 LMEM_FIXED appelle LocalAlloc, il passe un indicateur, 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.

Sécurité

SecurityCriticalAttribute
requiert une confiance totale pour l’appelant immédiat.requires full trust for the immediate caller. Ce membre ne peut pas être utilisé par du code de confiance partielle ou transparent.This member cannot be used by partially trusted or transparent code.

Voir aussi

AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) 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);
static member AllocHGlobal : nativeint -> nativeint
Public Shared Function AllocHGlobal (cb As IntPtr) As IntPtr

Paramètres

cb
IntPtr IntPtr IntPtr 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.

Exceptions

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

Remarques

AllocHGlobalest l’une des deux méthodes d’allocation de Marshal mémoire dans la classe.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 LMEM_FIXED appelle LocalAlloc, il passe un indicateur, 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.

Sécurité

SecurityCriticalAttribute
requiert une confiance totale pour l’appelant immédiat.requires full trust for the immediate caller. Ce membre ne peut pas être utilisé par du code de confiance partielle ou transparent.This member cannot be used by partially trusted or transparent code.

Voir aussi

S’applique à