SafeHandle.DangerousGetHandle Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca wartość handle pola.
public:
IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr
Zwraca
nativeint
Reprezentująca IntPtr wartość handle pola. Jeśli uchwyt został oznaczony jako nieprawidłowy za pomocą SetHandleAsInvalid()metody , ta metoda nadal zwraca oryginalną wartość uchwytu, która może być nieaktualną wartością.
Uwagi
Ta metoda umożliwia pobranie rzeczywistej wartości uchwytu z wystąpienia klasy pochodnej SafeHandle . Ta metoda jest wymagana do zapewnienia zgodności z poprzednimi wersjami, ponieważ wiele właściwości w programie .NET Framework zwraca IntPtr
typy dojść.
IntPtr
typy uchwytów są typami specyficznymi dla platformy używanymi do reprezentowania wskaźnika lub uchwytu.
Przestroga
DangerousGetHandle Użycie metody może stanowić zagrożenie bezpieczeństwa, ponieważ jeśli uchwyt został oznaczony jako nieprawidłowy za SetHandleAsInvalidpomocą metody , DangerousGetHandle nadal zwraca oryginalną, potencjalnie nieaktualną wartość dojścia. Zwrócony uchwyt można również odzyskać w dowolnym momencie. W najlepszym razie oznacza to, że uchwyt może nagle przestać działać. W najgorszym przypadku, jeśli uchwyt lub zasób reprezentowany przez uchwyt jest narażony na niezaufany kod, może to prowadzić do ataku zabezpieczeń recyklingu na ponownie użyte lub zwrócone dojścia. Na przykład niezaufany obiekt wywołujący może wysyłać zapytania o dane dotyczące właśnie zwróconego uchwytu i otrzymywać informacje o całkowicie niepowiązanym zasobie. DangerousAddRef Zobacz metody i, DangerousRelease aby uzyskać więcej informacji na temat bezpiecznego używania DangerousGetHandle metody.