SafeHandle.DangerousGetHandle Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí hodnotu handle pole.
public:
IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr
Návraty
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 .