HandleRef Struktura

Definice

Zabalí spravovaný objekt s popisovačem prostředku, který se předává nespravovanému kódu pomocí volání platformy.

public value class HandleRef
public readonly struct HandleRef
public struct HandleRef
[System.Runtime.InteropServices.ComVisible(true)]
public struct HandleRef
type HandleRef = struct
[<System.Runtime.InteropServices.ComVisible(true)>]
type HandleRef = struct
Public Structure HandleRef
Dědičnost
HandleRef
Atributy

Poznámky

Important

Funkce HandleRef třídy byla nahrazena SafeHandle třídou a jejími odvozenými třídami, stejně jako CriticalHandle třídou.

Pokud k volání spravovaného objektu používáte volání platformy a na objekt se neodkazuje jinde po volání vyvolání platformy, je možné, aby systém uvolňování paměti dokončoval spravovaný objekt. Tato akce uvolní prostředek a zneplatní popisovač, což způsobí selhání volání vyvolání platformy. Zabalení popisovače se HandleRef zárukou, že spravovaný objekt není uvolňování paměti, dokud se volání vyvolání platformy nedokonče. Popis služeb volání platformy naleznete v tématu Využívání nespravovaných funkcí knihovny DLL.

Typ HandleRef hodnoty, například GCHandle, je speciální typ rozpoznaný zařazováním zprostředkovatele komunikace. Normální, neodepnutý GCHandle také zabraňuje nečasným uvolňování paměti, ale HandleRef poskytuje lepší výkon. I když použití HandleRef k zachování objektu naživu po dobu trvání volání vyvolání platformy je upřednostňované, můžete také použít metodu GC.KeepAlive pro stejný účel.

Konstruktor HandleRef má dva parametry: Object představuje obálku a IntPtr představuje nespravovaný popisovač. Zprostředkovatele komunikace předá pouze popisovač nespravovanému kódu a zaručuje, že obálka (předána jako první parametr konstruktoru HandleRef) zůstane aktivní po dobu trvání volání.

Konstruktory

Name Description
HandleRef(Object, IntPtr)

Inicializuje novou instanci HandleRef třídy s objektem pro zabalení a popisovač prostředku používaného nespravovaným kódem.

Vlastnosti

Name Description
Handle

Získá popisovač prostředku.

Wrapper

Získá objekt držící popisovač k prostředku.

Metody

Name Description
ToIntPtr(HandleRef)

Vrátí vnitřní celočíselnou reprezentaci objektu HandleRef .

Operátory

Name Description
Explicit(HandleRef to IntPtr)

Vrátí popisovač prostředku zadaného HandleRef objektu.

Platí pro

Viz také