Sdílet prostřednictvím


Marshal.AllocHGlobal Metoda

Definice

Přidělí paměť z nespravované paměti procesu.

Přetížení

AllocHGlobal(Int32)

Přidělí paměť z nespravované paměti procesu pomocí zadaného počtu bajtů.

AllocHGlobal(IntPtr)

Přidělí paměť z nespravované paměti procesu pomocí ukazatele na zadaný počet bajtů.

AllocHGlobal(Int32)

Zdroj:
Marshal.cs
Zdroj:
Marshal.cs
Zdroj:
Marshal.cs

Přidělí paměť z nespravované paměti procesu pomocí zadaného počtu bajtů.

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

Parametry

cb
Int32

Požadovaný počet bajtů v paměti.

Návraty

IntPtr

nativeint

Ukazatel na nově přidělenou paměť. Tato paměť musí být uvolněna FreeHGlobal(IntPtr) pomocí metody .

Atributy

Výjimky

Pro splnění požadavku není dostatek paměti.

Příklady

Následující příklad ukazuje volání AllocHGlobal metody. Tento příklad kódu je součástí většího příkladu Marshal pro třídu.

// 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)

Poznámky

AllocHGlobal je jednou ze dvou metod přidělení paměti ve Marshal třídě. (Marshal.AllocCoTaskMem je druhý.) Tato metoda zveřejňuje funkci Win32 LocalAlloc z Kernel32.dll.

Při AllocHGlobal volání LocalAllocpředá LMEM_FIXED příznak, který způsobí uzamčení přidělené paměti na místě. Přidělená paměť navíc není vyplněná nulou.

Viz také

Platí pro

AllocHGlobal(IntPtr)

Zdroj:
Marshal.Unix.cs
Zdroj:
Marshal.Unix.cs
Zdroj:
Marshal.Unix.cs

Přidělí paměť z nespravované paměti procesu pomocí ukazatele na zadaný počet bajtů.

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

Parametry

cb
IntPtr

nativeint

Požadovaný počet bajtů v paměti.

Návraty

IntPtr

nativeint

Ukazatel na nově přidělenou paměť. Tato paměť musí být uvolněna FreeHGlobal(IntPtr) pomocí metody .

Atributy

Výjimky

Pro splnění požadavku není dostatek paměti.

Poznámky

AllocHGlobal je jednou ze dvou metod přidělení paměti ve Marshal třídě. (Marshal.AllocCoTaskMem je druhý.) Tato metoda zveřejňuje funkci Win32 LocalAlloc z Kernel32.dll.

Při AllocHGlobal volání LocalAllocpředá LMEM_FIXED příznak, který způsobí uzamčení přidělené paměti na místě. Přidělená paměť navíc není vyplněná nulou.

Například kód najdete v tématu Marshal a AllocHGlobal.

Viz také

Platí pro