Bagikan melalui


SafeHandle.DangerousGetHandle Metode

Definisi

Mengembalikan nilai handle bidang.

public:
 IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr

Mengembalikan

IntPtr

nativeint

yang IntPtr mewakili nilai handle bidang . Jika handel telah ditandai tidak valid dengan SetHandleAsInvalid(), metode ini masih mengembalikan nilai handel asli, yang bisa menjadi nilai kedaluarsa.

Keterangan

Anda dapat menggunakan metode ini untuk mengambil nilai handel aktual dari instans kelas turunan SafeHandle . Metode ini diperlukan untuk kompatibilitas mundur karena banyak properti dalam jenis handel pengembalian IntPtr .NET Framework. IntPtr jenis handel adalah jenis khusus platform yang digunakan untuk mewakili penunjuk atau handel.

Perhatian

Menggunakan metode ini DangerousGetHandle dapat menimbulkan risiko keamanan karena, jika handel telah ditandai sebagai tidak valid dengan SetHandleAsInvalid, DangerousGetHandle masih mengembalikan nilai handel asli yang berpotensi kedaluarsa. Handel yang dikembalikan juga dapat didaur ulang kapan saja. Paling tidak, ini berarti handel mungkin tiba-tiba berhenti berfungsi. Terburuknya, jika handel atau sumber daya yang diwakili handel terekspos ke kode yang tidak tepercaya, ini dapat menyebabkan serangan keamanan daur ulang pada handel yang digunakan kembali atau dikembalikan. Misalnya, penelepon yang tidak tepercaya dapat mengkueri data pada handel yang baru saja dikembalikan dan menerima informasi untuk sumber daya yang sepenuhnya tidak terkait. DangerousAddRef Lihat metode dan DangerousRelease untuk informasi selengkapnya tentang menggunakan DangerousGetHandle metode dengan aman.

Berlaku untuk