Marshal.AddRef(IntPtr) Metoda

Definicja

Zwiększa liczbę odwołań w określonym interfejsie.

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

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 użycie tej metody jest niepotrzebne bezpośrednio. W rzadkich przypadkach, takich jak testowanie niestandardowego marshalera, może okazać się konieczne ręczne manipulowanie okresem istnienia obiektu. Po wywołaniu metody AddRefnależy zdekrementować liczbę odwołań przy użyciu metody, takiej jak Marshal.Release. Nie polegaj na wartości zwracanej wartości , AddRefponieważ czasami może być niestabilna.

Możesz wywołać Marshal.GetComInterfaceForObjectmetodę , Marshal.GetIUnknownForObjectlub Marshal.GetIDispatchForObject 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 otokę wywołaną COM obiektu zarządzanego. Jeśli nie znasz szczegółów tego typu otoki, zobacz Com Callable Wrapper.

Dotyczy

Zobacz też