SafeHandle.DangerousGetHandle Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Alanının değerini handle döndürür.
public:
IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr
Döndürülenler
nativeint
IntPtr Alanın değerini handle temsil eden bir. tanıtıcı ile SetHandleAsInvalid()geçersiz olarak işaretlendiyse, bu yöntem yine de eski bir değer olabilecek özgün tanıtıcı değerini döndürür.
Açıklamalar
Türetilmiş sınıfın bir örneğinden SafeHandle gerçek tanıtıcı değerini almak için bu yöntemi kullanabilirsiniz. Bu yöntem geriye dönük uyumluluk için gereklidir çünkü .NET Framework'teki birçok özellik tanıtıcı türleri döndürür IntPtr
.
IntPtr
tanıtıcı türleri, bir işaretçiyi veya tanıtıcıyı temsil etmek için kullanılan platforma özgü türlerdir.
Dikkat
yönteminin DangerousGetHandle kullanılması, tanıtıcı ile SetHandleAsInvalidDangerousGetHandle geçersiz olarak işaretlenmişse özgün, eski olabilecek tanıtıcı değerini döndürmeye devam ettiğinden güvenlik riskleri oluşturabilir. Döndürülen tanıtıcı herhangi bir noktada geri dönüştürülebilir. En iyi durumda bu, tutamacın aniden çalışmayı durdurabileceği anlamına gelir. En kötü ihtimalle, tanıtıcının temsil ettiği tanıtıcı veya kaynak güvenilmeyen koda açıksa, bu yeniden kullanılan veya döndürülen tanıtıcıda geri dönüşüm güvenliği saldırısına yol açabilir. Örneğin, güvenilmeyen bir çağıran, az önce döndürülen tanıtıcıdaki verileri sorgulayabilir ve tamamen ilgisiz bir kaynağın bilgilerini alabilir. DangerousAddRef Yöntemini güvenli bir şekilde kullanma hakkında daha fazla bilgi için ve DangerousRelease yöntemlerine DangerousGetHandle bakın.