Marshal.AddRef(IntPtr) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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).