SafeHandle.DangerousGetHandle Metoda

Definicja

Zwraca wartość handle pola.Returns the value of the handle field.

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

Zwraca

IntPtr

IntPtrReprezentujący wartość handle pola.An IntPtr representing the value of the handle field. Jeśli dojście zostało oznaczone jako nieprawidłowe z SetHandleAsInvalid() , ta metoda nadal zwraca oryginalną wartość dojścia, która może być nieodświeżoną wartością.If the handle has been marked invalid with SetHandleAsInvalid(), this method still returns the original handle value, which can be a stale value.

Uwagi

Tej metody można użyć do pobrania rzeczywistej wartości uchwytu z wystąpienia SafeHandle klasy pochodnej.You can use this method to retrieve the actual handle value from an instance of the SafeHandle derived class. Ta metoda jest wymagana w celu zapewnienia zgodności z poprzednimi wersjami, ponieważ wiele właściwości w .NET Framework zwracanych IntPtr typów dojścia.This method is needed for backwards compatibility because many properties in the .NET Framework return IntPtr handle types. IntPtr typy uchwytów to typy specyficzne dla platformy służące do reprezentowania wskaźnika lub dojścia.IntPtr handle types are platform-specific types used to represent a pointer or a handle.

Przestroga

Użycie DangerousGetHandle metody może stanowić zagrożenie bezpieczeństwa, ponieważ, jeśli dojście zostało oznaczone jako nieprawidłowe przy użyciu SetHandleAsInvalid , DangerousGetHandle nadal zwraca oryginalną, potencjalnie nieodświeżoną wartość dojścia.Using the DangerousGetHandle method can pose security risks because, if the handle has been marked as invalid with SetHandleAsInvalid, DangerousGetHandle still returns the original, potentially stale handle value. Zwracanego uchwytu można również odtworzyć w dowolnym momencie.The returned handle can also be recycled at any point. Z tego względu, dojście może nagle przestać działać.At best, this means the handle might suddenly stop working. W najgorszym przypadku, jeśli dojście lub zasób reprezentowane przez dojście jest uwidocznione dla niezaufanego kodu, może to prowadzić do odzyskania zabezpieczeń w przypadku ponownego użycia lub zwrócenia uchwytu.At worst, if the handle or the resource that the handle represents is exposed to untrusted code, this can lead to a recycling security attack on the reused or returned handle. Na przykład niezaufany obiekt wywołujący może wykonywać zapytania dotyczące danych w dojściem i odbierać informacje dla całkowicie niepowiązanego zasobu.For example, an untrusted caller can query data on the handle just returned and receive information for an entirely unrelated resource. Zobacz DangerousAddRef i metody, DangerousRelease Aby uzyskać więcej informacji na temat korzystania z DangerousGetHandle methodsafely.See the DangerousAddRef and the DangerousRelease methods for more information about using the DangerousGetHandle methodsafely.

Dotyczy