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 à 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
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.
Lorsque vous AllocHGlobal appelez LocalAlloc
, il transmet 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
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.
Lorsque vous AllocHGlobal appelez LocalAlloc
, il transmet 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.