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

Definition

Belegt Speicher aus dem nicht verwalteten Speicher des Prozesses.Allocates memory from the unmanaged memory of the process.

Überlädt

AllocHGlobal(Int32) AllocHGlobal(Int32) AllocHGlobal(Int32) AllocHGlobal(Int32)

Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mit der angegebenen Anzahl von Bytes.Allocates memory from the unmanaged memory of the process by using the specified number of bytes.

AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr)

Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mithilfe des Zeigers auf die angegebene Anzahl von Bytes.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)

Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mit der angegebenen Anzahl von Bytes.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

Parameter

cb
Int32 Int32 Int32 Int32

Die erforderliche Anzahl der Bytes im Speicher.The required number of bytes in memory.

Gibt zurück

Ein Zeiger auf den neu reservierten Speicher.A pointer to the newly allocated memory. Dieser Speicher muss unter Verwendung der FreeHGlobal(IntPtr)-Methode freigegeben werden.This memory must be released using the FreeHGlobal(IntPtr) method.

Ausnahmen

Es ist nicht genügend Arbeitsspeicher zum Erfüllen der Anforderung vorhanden.There is insufficient memory to satisfy the request.

Beispiele

Im folgenden Beispiel wird das Aufrufen der AllocHGlobal-Methode veranschaulicht.The following example demonstrates calling the AllocHGlobal method. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die Marshal Klasse.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)

Hinweise

AllocHGlobal ist eine der beiden Memory Allocation-Methoden in der Marshal Klasse.AllocHGlobal is one of two memory allocation methods in the Marshal class. (Marshal.AllocCoTaskMem die andere ist.) Diese Methode macht die Win32 LocalAlloc -Funktion von Kernel32.dll.(Marshal.AllocCoTaskMem is the other.) This method exposes the Win32 LocalAlloc function from Kernel32.dll.

Wenn AllocHGlobal Aufrufe LocalAlloc, übergibt ein LMEM_FIXED -Flag, das bewirkt, dass den zugeordneten Arbeitsspeicher gesperrt werden.When AllocHGlobal calls LocalAlloc, it passes a LMEM_FIXED flag, which causes the allocated memory to be locked in place. Darüber hinaus ist der belegte Arbeitsspeicher nicht 0 (null)-ausgefüllt.Also, the allocated memory is not zero-filled.

Sicherheit

SecurityCriticalAttribute
erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.requires full trust for the immediate caller. Dieser Member kann nicht von teilweise vertrauenswürdigem oder transparentem Code verwendet werden.This member cannot be used by partially trusted or transparent code.

Siehe auch

AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr) AllocHGlobal(IntPtr)

Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mithilfe des Zeigers auf die angegebene Anzahl von Bytes.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

Parameter

cb
IntPtr IntPtr IntPtr IntPtr

Die erforderliche Anzahl der Bytes im Speicher.The required number of bytes in memory.

Gibt zurück

Ein Zeiger auf den neu reservierten Speicher.A pointer to the newly allocated memory. Dieser Speicher muss unter Verwendung der FreeHGlobal(IntPtr)-Methode freigegeben werden.This memory must be released using the FreeHGlobal(IntPtr) method.

Ausnahmen

Es ist nicht genügend Arbeitsspeicher zum Erfüllen der Anforderung vorhanden.There is insufficient memory to satisfy the request.

Hinweise

AllocHGlobal ist eine der beiden Memory Allocation-Methoden in der Marshal Klasse.AllocHGlobal is one of two memory allocation methods in the Marshal class. (Marshal.AllocCoTaskMem die andere ist.) Diese Methode macht die Win32 LocalAlloc -Funktion von Kernel32.dll.(Marshal.AllocCoTaskMem is the other.) This method exposes the Win32 LocalAlloc function from Kernel32.dll.

Wenn AllocHGlobal Aufrufe LocalAlloc, übergibt ein LMEM_FIXED -Flag, das bewirkt, dass den zugeordneten Arbeitsspeicher gesperrt werden.When AllocHGlobal calls LocalAlloc, it passes a LMEM_FIXED flag, which causes the allocated memory to be locked in place. Darüber hinaus ist der belegte Arbeitsspeicher nicht 0 (null)-ausgefüllt.Also, the allocated memory is not zero-filled.

Beispielcode, finden Sie unter Marshal und AllocHGlobal.For example code, see Marshal and AllocHGlobal.

Sicherheit

SecurityCriticalAttribute
erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.requires full trust for the immediate caller. Dieser Member kann nicht von teilweise vertrauenswürdigem oder transparentem Code verwendet werden.This member cannot be used by partially trusted or transparent code.

Siehe auch

Gilt für: