SafeHandle.DangerousGetHandle Methode

Definition

Gibt den Wert des handle-Felds zurück.

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

Gibt zurück

IntPtr

nativeint

Ein IntPtr, der den Wert des handle-Felds darstellt. Wenn das Handle mit SetHandleAsInvalid() als ungültig markiert ist, gibt diese Methode dennoch den ursprünglichen Handlewert zurück, bei dem es sich um einen veralteten Wert handeln kann.

Hinweise

Sie können diese Methode verwenden, um den tatsächlichen Handlewert aus einer instance der abgeleiteten SafeHandle Klasse abzurufen. Diese Methode ist aus Gründen der Abwärtskompatibilität erforderlich, da viele Eigenschaften im .NET Framework Handle-Typen zurückgebenIntPtr. IntPtr handle-Typen sind plattformspezifische Typen, die verwendet werden, um einen Zeiger oder ein Handle darzustellen.

Achtung

Die Verwendung der DangerousGetHandle -Methode kann Sicherheitsrisiken darstellen, da, wenn das Handle mit SetHandleAsInvalidals ungültig markiert wurde, DangerousGetHandle weiterhin den ursprünglichen, potenziell veralteten Handlewert zurückgibt. Der zurückgegebene Handle kann auch jederzeit wiederverwendet werden. Im besten Fall bedeutet dies, dass der Handle plötzlich nicht mehr funktioniert. Wenn das Handle oder die Ressource, die das Handle darstellt, für nicht vertrauenswürdigen Code verfügbar gemacht wird, kann dies zu einem Wiederverwertungsangriff auf das wiederverwendete oder zurückgegebene Handle führen. Beispielsweise kann ein nicht vertrauenswürdiger Aufrufer Daten für das soeben zurückgegebene Handle abfragen und Informationen für eine völlig nicht verbundene Ressource empfangen. Weitere Informationen zur sicheren Verwendung der DangerousAddRef -Methode finden Sie unter und DangerousRelease in den DangerousGetHandle Methoden.

Gilt für: