Marshal.ReAllocHGlobal(IntPtr, IntPtr) 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.
Mengubah ukuran blok memori yang sebelumnya dialokasikan dengan AllocHGlobal(IntPtr).
public:
static IntPtr ReAllocHGlobal(IntPtr pv, IntPtr cb);
[System.Security.SecurityCritical]
public static IntPtr ReAllocHGlobal (IntPtr pv, IntPtr cb);
public static IntPtr ReAllocHGlobal (IntPtr pv, IntPtr cb);
[<System.Security.SecurityCritical>]
static member ReAllocHGlobal : nativeint * nativeint -> nativeint
static member ReAllocHGlobal : nativeint * nativeint -> nativeint
Public Shared Function ReAllocHGlobal (pv As IntPtr, cb As IntPtr) As IntPtr
Parameter
- pv
-
IntPtr
nativeint
Pointer ke memori yang dialokasikan dengan AllocHGlobal(IntPtr).
- cb
-
IntPtr
nativeint
Ukuran baru blok yang dialokasikan. Ini bukan penunjuk; itu adalah jumlah byte yang Anda minta, transmisikan untuk mengetik IntPtr. Jika Anda meneruskan penunjuk, itu diperlakukan sebagai ukuran.
Mengembalikan
nativeint
Penunjuk ke memori yang di-realokasi. Memori ini harus dirilis menggunakan FreeHGlobal(IntPtr).
- Atribut
Pengecualian
Memori tidak cukup untuk memenuhi permintaan.
Keterangan
Penting
Alokator memori asli ini adalah API warisan yang harus digunakan secara eksklusif ketika dipanggil oleh API Win32 tertentu pada platform Windows. Saat menargetkan .NET 6 atau yang lebih baru, gunakan kelas NativeMemory di semua platform untuk mengalokasikan memori asli. Saat menargetkan .NET 6 atau yang lebih lama, gunakan AllocCoTaskMem di semua platform untuk mengalokasikan memori asli.
ReAllocHGlobal adalah salah satu dari dua metode API realokasi memori di kelas Marshal. (Marshal.ReAllocCoTaskMem adalah yang lain.)
Metode ini mengekspos fungsi Win32
Berlaku untuk
Lihat juga
- ReAllocCoTaskMem(IntPtr, Int32)
- FreeHGlobal(IntPtr)
- Fungsi GlobalAlloc