Marshal.AddRef(IntPtr) Metoda

Definicja

Zwiększa liczbę odwołań dla określonego interfejsu.

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

Parametry

pUnk
IntPtr

nativeint

Liczba odwołań interfejsu do przyrostu.

Zwraca

Nowa wartość liczby odwołań dla parametru pUnk .

Atrybuty

Uwagi

Środowisko uruchomieniowe języka wspólnego zarządza liczbą odwołań obiektu COM, co sprawia, że nie trzeba używać tej metody bezpośrednio. W rzadkich przypadkach, takich jak testowanie niestandardowego marshalera, może być konieczne ręczne manipulowanie okresem istnienia obiektu. Po wywołaniu AddRefmetody należy zdekrementować liczbę odwołań przy użyciu metody takiej jak Marshal.Release. Nie należy polegać na wartości zwracanej wartości AddRef, ponieważ czasami może być niestabilna.

Możesz wywołać Marshal.GetComInterfaceForObjectmetodę , Marshal.GetIUnknownForObjectlub Marshal.GetIDispatchForObject , aby uzyskać wartość reprezentującą IntPtr wskaźnik interfejsu IUnknown . Można również użyć tych metod i AddRef metody w obiektach zarządzanych, aby uzyskać interfejsy COM reprezentowane przez wywoływaną otokę COM obiektu zarządzanego. Jeśli nie znasz szczegółów tego typu otoki, zobacz COM Callable Wrapper (Otoka wywoływana COM).

Dotyczy

Zobacz też