Aracılığıyla paylaş


SafeHandle.DangerousGetHandle Yöntem

Tanım

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

IntPtr

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.

Şunlara uygulanır