SafeHandle.DangerousGetHandle 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.
Mengembalikan nilai handle bidang.
public:
IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr
Mengembalikan
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.