Marshal.AllocHGlobal Methode

Definitie

Wijst geheugen toe vanuit het onbeheerde geheugen van het proces.

Overloads

Name Description
AllocHGlobal(Int32)

Hiermee wijst u geheugen toe aan het onbeheerde geheugen van het proces met behulp van het opgegeven aantal bytes.

AllocHGlobal(IntPtr)

Wijst geheugen toe vanuit het onbeheerde geheugen van het proces met behulp van de aanwijzer naar het opgegeven aantal bytes.

AllocHGlobal(Int32)

Hiermee wijst u geheugen toe aan het onbeheerde geheugen van het proces met behulp van het opgegeven aantal bytes.

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

Parameters

cb
Int32

Het vereiste aantal bytes in het geheugen.

Retouren

IntPtr

nativeint

Een aanwijzer naar het zojuist toegewezen geheugen. Dit geheugen moet worden vrijgegeven met behulp van de FreeHGlobal(IntPtr) methode.

Kenmerken

Uitzonderingen

Er is onvoldoende geheugen om aan de aanvraag te voldoen.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de AllocHGlobal methode aanroept. Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de Marshal klasse.

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

Opmerkingen

Important

Deze systeemeigen geheugentoewijzing is een verouderde API die uitsluitend moet worden gebruikt wanneer deze wordt aangeroepen door specifieke Win32-API's op het Windows-platform. Wanneer u zich richt op .NET 6 of hoger, gebruikt u de klasse NativeMemory op alle platforms om systeemeigen geheugen toe te wijzen. Wanneer u zich richt op .NET Framework, gebruikt u AllocCoTaskMem op alle platforms om systeemeigen geheugen toe te wijzen.

AllocHGlobal is een van de twee methoden voor geheugentoewijzing in de Marshal klasse. (Marshal.AllocCoTaskMem is de andere.) Met deze methode wordt de functie Win32 LocalAlloc van Kernel32.dllweergegeven.

Wanneer AllocHGlobal u aanroept LocalAlloc, wordt er een LMEM_FIXED vlag doorgegeven, waardoor het toegewezen geheugen wordt vergrendeld. Bovendien is het toegewezen geheugen niet gevuld met nul.

Zie ook

Van toepassing op

AllocHGlobal(IntPtr)

Wijst geheugen toe vanuit het onbeheerde geheugen van het proces met behulp van de aanwijzer naar het opgegeven aantal bytes.

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

Parameters

cb
IntPtr

nativeint

Het vereiste aantal bytes in het geheugen.

Retouren

IntPtr

nativeint

Een aanwijzer naar het zojuist toegewezen geheugen. Dit geheugen moet worden vrijgegeven met behulp van de FreeHGlobal(IntPtr) methode.

Kenmerken

Uitzonderingen

Er is onvoldoende geheugen om aan de aanvraag te voldoen.

Opmerkingen

Important

Deze systeemeigen geheugentoewijzing is een verouderde API die uitsluitend moet worden gebruikt wanneer deze wordt aangeroepen door specifieke Win32-API's op het Windows-platform. Wanneer u zich richt op .NET 6 of hoger, gebruikt u de klasse NativeMemory op alle platforms om systeemeigen geheugen toe te wijzen. Wanneer u zich richt op .NET Framework, gebruikt u AllocCoTaskMem op alle platforms om systeemeigen geheugen toe te wijzen.

AllocHGlobal is een van de twee methoden voor geheugentoewijzing in de Marshal klasse. (Marshal.AllocCoTaskMem is de andere.) Met deze methode wordt de functie Win32 LocalAlloc van Kernel32.dllweergegeven.

Wanneer AllocHGlobal u aanroept LocalAlloc, wordt er een LMEM_FIXED vlag doorgegeven, waardoor het toegewezen geheugen wordt vergrendeld. Bovendien is het toegewezen geheugen niet gevuld met nul.

Zie Marshal en AllocHGlobal.

Zie ook

Van toepassing op