SafeHandle.DangerousGetHandle Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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.