Marshal.AddRef(IntPtr) Metoda

Definice

Zvýší počet odkazů na zadané rozhraní.

public:
 static int AddRef(IntPtr pUnk);
[System.Security.SecurityCritical]
public static int AddRef (IntPtr pUnk);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static int AddRef (IntPtr pUnk);
public static int AddRef (IntPtr pUnk);
[<System.Security.SecurityCritical>]
static member AddRef : nativeint -> int
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member AddRef : nativeint -> int
static member AddRef : nativeint -> int
Public Shared Function AddRef (pUnk As IntPtr) As Integer

Parametry

pUnk
IntPtr

nativeint

Referenční počet rozhraní pro zvýšení.

Návraty

Int32

Nová hodnota odkazu počítá s parametrem pUnk .

Atributy

Poznámky

Modul CLR (Common Language Runtime) spravuje počet odkazů objektu COM za vás, takže není nutné tuto metodu používat přímo. Ve výjimečných případech, například testování vlastního zařazování, může být nutné ručně manipulovat s životností objektu. Po volání AddRefje nutné dekrementovat počet odkazů pomocí metody, jako Marshal.Releaseje . Nespoléhejte na vrácenou hodnotu AddRef, protože někdy může být nestabilní.

Můžete volat Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObjectnebo Marshal.GetIDispatchForObject získat IntPtr hodnotu, která představuje ukazatel rozhraní IUnknown . Tyto metody a metodu AddRef pro spravované objekty můžete také použít k získání rozhraní MODELU COM reprezentovaných obálkou com spravovaného objektu. Pokud nejste obeznámeni s podrobnostmi tohoto typu obálky, přečtěte si téma Com Callable Wrapper.

Platí pro

Viz také