Marshal.AllocHGlobal Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Belegt Speicher aus dem nicht verwalteten Speicher des Prozesses.
Überlädt
AllocHGlobal(Int32) |
Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mit der angegebenen Anzahl von Bytes. |
AllocHGlobal(IntPtr) |
Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mithilfe des Zeigers auf die angegebene Anzahl von Bytes. |
AllocHGlobal(Int32)
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mit der angegebenen Anzahl von 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
Parameter
- cb
- Int32
Die erforderliche Anzahl der Bytes im Speicher.
Gibt zurück
nativeint
Ein Zeiger auf den neu reservierten Speicher. Dieser Speicher muss unter Verwendung der FreeHGlobal(IntPtr)-Methode freigegeben werden.
- Attribute
Ausnahmen
Es ist nicht genügend Arbeitsspeicher zum Erfüllen der Anforderung vorhanden.
Beispiele
Im folgenden Beispiel wird das Aufrufen der AllocHGlobal-Methode veranschaulicht. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die Marshal-Klasse bereitgestellt wird.
// 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 von zwei Speicherbelegungsmethoden in der Marshal -Klasse. (Marshal.AllocCoTaskMem ist die andere.) Diese Methode macht die Win32 LocalAlloc-Funktion aus Kernel32.dll verfügbar.
Wenn AllocHGlobal aufgerufen LocalAlloc
wird, übergibt er ein LMEM_FIXED
Flag, das dazu führt, dass der zugeordnete Speicher gesperrt wird. Außerdem ist der zugeordnete Arbeitsspeicher nicht 0 (null) gefüllt.
Weitere Informationen
Gilt für:
AllocHGlobal(IntPtr)
- Quelle:
- Marshal.Unix.cs
- Quelle:
- Marshal.Unix.cs
- Quelle:
- Marshal.Unix.cs
Reserviert Speicher aus dem nicht verwalteten Arbeitsspeicher des Prozesses mithilfe des Zeigers auf die angegebene Anzahl von 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
Parameter
- cb
-
IntPtr
nativeint
Die erforderliche Anzahl der Bytes im Speicher.
Gibt zurück
nativeint
Ein Zeiger auf den neu reservierten Speicher. Dieser Speicher muss unter Verwendung der FreeHGlobal(IntPtr)-Methode freigegeben werden.
- Attribute
Ausnahmen
Es ist nicht genügend Arbeitsspeicher zum Erfüllen der Anforderung vorhanden.
Hinweise
AllocHGlobal ist eine von zwei Speicherbelegungsmethoden in der Marshal -Klasse. (Marshal.AllocCoTaskMem ist die andere.) Diese Methode macht die Win32 LocalAlloc-Funktion aus Kernel32.dll verfügbar.
Wenn AllocHGlobal aufgerufen LocalAlloc
wird, übergibt er ein LMEM_FIXED
Flag, das dazu führt, dass der zugeordnete Speicher gesperrt wird. Außerdem ist der zugeordnete Arbeitsspeicher nicht 0 (null) gefüllt.
Beispielcode finden Sie unter Marshal und AllocHGlobal.
Weitere Informationen
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für