HandleRef Struktur

Definisi

Membungkus objek terkelola yang memegang handel ke sumber daya yang diteruskan ke kode yang tidak dikelola menggunakan pemanggilan platform.

public value class HandleRef
public readonly struct HandleRef
public struct HandleRef
[System.Runtime.InteropServices.ComVisible(true)]
public struct HandleRef
type HandleRef = struct
[<System.Runtime.InteropServices.ComVisible(true)>]
type HandleRef = struct
Public Structure HandleRef
Warisan
HandleRef
Atribut

Keterangan

Important

Fungsionalitas HandleRef kelas telah digantikan oleh SafeHandle kelas dan kelas turunannya, serta oleh CriticalHandle kelas.

Jika Anda menggunakan pemanggilan platform untuk memanggil objek terkelola, dan objek tidak dirujuk di tempat lain setelah panggilan platform memanggil, dimungkinkan bagi pengumpul sampah untuk menyelesaikan objek terkelola. Tindakan ini merilis sumber daya dan membatalkan handel, menyebabkan panggilan pemanggilan platform gagal. Membungkus handel dengan HandleRef jaminan bahwa objek terkelola bukan sampah yang dikumpulkan sampai panggilan pemanggilan platform selesai. Untuk deskripsi layanan pemanggilan platform, lihat Mengonsumsi Fungsi DLL Yang Tidak Dikelola.

Jenis HandleRef nilai, seperti GCHandle, adalah jenis khusus yang dikenali oleh interop marshaler. Normal, nonpinned GCHandle juga mencegah pengumpulan sampah yang tidak tepat waktu, namun HandleRef memberikan performa yang lebih baik. Meskipun menggunakan HandleRef untuk menjaga objek tetap hidup selama panggilan pemanggilan platform lebih disukai, Anda juga dapat menggunakan GC.KeepAlive metode untuk tujuan yang sama.

HandleRef Konstruktor mengambil dua parameter: mewakili Object pembungkus, dan mewakili handel yang IntPtr tidak dikelola. Marshaler interop hanya meneruskan handel ke kode yang tidak dikelola, dan menjamin bahwa pembungkus (diteruskan sebagai parameter pertama ke konstruktor HandleRef) tetap hidup selama panggilan.

Konstruktor

Nama Deskripsi
HandleRef(Object, IntPtr)

Menginisialisasi instans HandleRef baru kelas dengan objek untuk membungkus dan menangani ke sumber daya yang digunakan oleh kode yang tidak dikelola.

Properti

Nama Deskripsi
Handle

Mendapatkan handel ke sumber daya.

Wrapper

Mendapatkan objek yang memegang handel ke sumber daya.

Metode

Nama Deskripsi
ToIntPtr(HandleRef)

Mengembalikan representasi bilangan bulat internal objek HandleRef .

Operator

Nama Deskripsi
Explicit(HandleRef to IntPtr)

Mengembalikan handel ke sumber daya objek yang ditentukan HandleRef .

Berlaku untuk

Lihat juga