SafeHandle.DangerousGetHandle Methode

Definitie

Retourneert de waarde van het handle veld.

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

Retouren

IntPtr

nativeint

Een IntPtr weergave van de waarde van het handle veld. Als de ingang is gemarkeerd als ongeldig, SetHandleAsInvalid()retourneert deze methode nog steeds de oorspronkelijke ingangswaarde, die een verouderde waarde kan zijn.

Opmerkingen

U kunt deze methode gebruiken om de werkelijke ingangswaarde op te halen uit een exemplaar van de SafeHandle afgeleide klasse. Deze methode is nodig voor achterwaartse compatibiliteit omdat veel eigenschappen in het .NET Framework IntPtr handletypen retourneren. IntPtr handletypen zijn platformspecifieke typen die worden gebruikt om een aanwijzer of een ingang weer te geven.

Caution

Het gebruik van de DangerousGetHandle methode kan beveiligingsrisico's opleveren omdat als de ingang is gemarkeerd als ongeldig met SetHandleAsInvalid, DangerousGetHandle nog steeds de oorspronkelijke, mogelijk verlopen ingangswaarde retourneert. De geretourneerde handgreep kan ook op elk gewenst moment worden gerecycled. Dit betekent dat de handgreep plotseling niet meer werkt. Als de ingang of de resource die de handle vertegenwoordigt, in het slechtste geval wordt blootgesteld aan niet-vertrouwde code, kan dit leiden tot een recyclagebeveiligingsaanval op de hergebruikte of geretourneerde ingang. Een niet-vertrouwde beller kan bijvoorbeeld query's uitvoeren op gegevens op de greep die zojuist is geretourneerd en informatie ontvangen voor een geheel niet-gerelateerde resource. Zie de DangerousAddRef en de DangerousRelease methoden voor meer informatie over het veilig gebruiken van de DangerousGetHandle methode.

Van toepassing op