SafeHandle.DangerousGetHandle Metoda

Definice

Vrátí hodnotu handle pole.

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

Návraty

IntPtr

nativeint

Představuje IntPtr hodnotu handle pole. Pokud je popisovač označen jako neplatný , SetHandleAsInvalid()tato metoda stále vrací původní hodnotu popisovače, což může být zastaralá hodnota.

Poznámky

Tuto metodu můžete použít k načtení skutečné hodnoty popisovače z instance odvozené SafeHandle třídy. Tato metoda je potřebná pro zpětnou kompatibilitu, protože mnoho vlastností v rozhraní .NET Framework vrací IntPtr typy popisovačů. IntPtr typy popisovačů jsou typy specifické pro platformu, které se používají k reprezentaci ukazatele nebo úchytu.

Upozornění

DangerousGetHandle Použití metody může představovat riziko zabezpečení, protože pokud je popisovač označen jako neplatný pomocí SetHandleAsInvalid, DangerousGetHandle stále vrací původní, potenciálně zastaralou hodnotu popisovače. Vrácený úchyt lze také kdykoli recyklovat. V nejlepším případě to znamená, že úchyt může náhle přestat fungovat. V nejhorším případě, pokud je popisovač nebo prostředek, který popisovač představuje, vystavený nedůvěryhodnému kódu, může to vést k recyklačnímu bezpečnostnímu útoku na opakovaně použitý nebo vrácený popisovač. Například nedůvěryhodný volající se může dotazovat na data na právě vrácený popisovač a přijímat informace o zcela nesouvisejícím prostředku. Další informace o bezpečném DangerousRelease používání metody najdete v DangerousAddRefDangerousGetHandle metodách a .

Platí pro