Marshal.AllocHGlobal Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengalokasikan memori dari memori proses yang tidak dikelola.
Overload
AllocHGlobal(Int32) |
Mengalokasikan memori dari memori proses yang tidak dikelola dengan menggunakan jumlah byte yang ditentukan. |
AllocHGlobal(IntPtr) |
Mengalokasikan memori dari memori proses yang tidak dikelola dengan menggunakan penunjuk ke jumlah byte yang ditentukan. |
AllocHGlobal(Int32)
- Sumber:
- Marshal.cs
- Sumber:
- Marshal.cs
- Sumber:
- Marshal.cs
Mengalokasikan memori dari memori proses yang tidak dikelola dengan menggunakan jumlah byte yang ditentukan.
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
Jumlah byte yang diperlukan dalam memori.
Mengembalikan
nativeint
Penunjuk ke memori yang baru dialokasikan. Memori ini harus dilepaskan FreeHGlobal(IntPtr) menggunakan metode .
- Atribut
Pengecualian
Memori tidak cukup untuk memenuhi permintaan.
Contoh
Contoh berikut menunjukkan pemanggilan AllocHGlobal metode . Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk Marshal kelas .
// 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)
Keterangan
AllocHGlobal adalah salah satu dari dua metode alokasi memori di Marshal kelas . (Marshal.AllocCoTaskMem adalah yang lain.) Metode ini mengekspos fungsi Win32 LocalAlloc dari Kernel32.dll.
Ketika AllocHGlobal memanggil LocalAlloc
, ia melewati LMEM_FIXED
bendera, yang menyebabkan memori yang dialokasikan terkunci di tempatnya. Selain itu, memori yang dialokasikan tidak diisi nol.
Lihat juga
Berlaku untuk
AllocHGlobal(IntPtr)
- Sumber:
- Marshal.Unix.cs
- Sumber:
- Marshal.Unix.cs
- Sumber:
- Marshal.Unix.cs
Mengalokasikan memori dari memori proses yang tidak dikelola dengan menggunakan penunjuk ke jumlah byte yang ditentukan.
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
Jumlah byte yang diperlukan dalam memori.
Mengembalikan
nativeint
Penunjuk ke memori yang baru dialokasikan. Memori ini harus dilepaskan FreeHGlobal(IntPtr) menggunakan metode .
- Atribut
Pengecualian
Memori tidak cukup untuk memenuhi permintaan.
Keterangan
AllocHGlobal adalah salah satu dari dua metode alokasi memori di Marshal kelas . (Marshal.AllocCoTaskMem adalah yang lain.) Metode ini mengekspos fungsi Win32 LocalAlloc dari Kernel32.dll.
Ketika AllocHGlobal memanggil LocalAlloc
, ia melewati LMEM_FIXED
bendera, yang menyebabkan memori yang dialokasikan terkunci di tempatnya. Selain itu, memori yang dialokasikan tidak diisi nol.
Misalnya kode, lihat Marshal dan AllocHGlobal.