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 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.

Platí pro