Freigeben über


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

Mit dieser Methode können Sie den tatsächlichen Handle-Wert von einer Instanz der abgeleiteten SafeHandle Klasse abrufen. Diese Methode ist für die Abwärtskompatibilität erforderlich, da viele Eigenschaften in .NET Framework Handle-Typen zurückgeben IntPtr . IntPtr Handle-Typen sind plattformspezifische Typen, die zum Darstellen eines Zeigers oder eines Handles verwendet werden.

Achtung

Die Verwendung der DangerousGetHandle -Methode kann Sicherheitsrisiken darstellen, da, wenn das Handle mit SetHandleAsInvalidals ungültig gekennzeichnet wurde, DangerousGetHandle weiterhin den ursprünglichen, möglicherweise veralteten Handle-Wert zurückgibt. Der zurückgegebene Handle kann auch jederzeit wiederverwendet werden. Im besten Fall bedeutet dies, dass der Griff plötzlich nicht mehr funktioniert. Im schlimmsten Fall kann dies zu einem Recyclingsicherheitsangriff auf das wiederverwendete oder zurückgegebene Handle führen, wenn das Handle oder die Ressource, die das Handle darstellt, einem nicht vertrauenswürdigen Code ausgesetzt ist. Beispielsweise kann ein nicht vertrauenswürdiger Aufrufer Daten für das soeben zurückgegebene Handle abfragen und Informationen zu einer völlig unabhängigen Ressource empfangen. Weitere Informationen zur sicheren DangerousAddRef Verwendung der Methode finden Sie unter und in den DangerousReleaseDangerousGetHandle Methoden.

Gilt für: