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ń 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.