Marshal.AllocHGlobal Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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í LocalAlloc
př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
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í LocalAlloc
př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.