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 byl popisovač označen jako neplatný SetHandleAsInvalid(), tato metoda stále vrátí 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 nutná pro zpětnou kompatibilitu, protože mnoho vlastností v rozhraní .NET Framework vrací typy popisovačů IntPtr.
IntPtr typy popisovačů jsou typy specifické pro platformu, které slouží k reprezentaci ukazatele nebo úchytu.
Caution
DangerousGetHandle Použití metody může představovat bezpečnostní rizika, protože pokud byl popisovač označen jako neplatný SetHandleAsInvalid, DangerousGetHandle stále vrací původní, potenciálně zastaralou hodnotu popisovače. Vrácený popisovač lze také recyklovat v libovolném okamžiku. 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 recyklovanému útoku na znovu použitý nebo vrácený popisovač. Například nedůvěryhodný volající může dotazovat data na popisovač, který se právě vrátil, a přijímat informace pro zcela nesouvisející prostředek. Další informace o bezpečném DangerousAddRef používání metody najdete v DangerousRelease tématu DangerousGetHandle a metodách.