Udostępnij za pośrednictwem


SafeHandle.DangerousGetHandle Metoda

Definicja

Zwraca wartość handle pola.

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

Zwraca

IntPtr

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.

Dotyczy