Поделиться через


Marshal.AddRef(IntPtr) Метод

Определение

Увеличивает счетчик ссылок для указанного интерфейса.

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

Параметры

pUnk
IntPtr

nativeint

Увеличиваемый счетчик ссылок интерфейса.

Возвращаемое значение

Новое значение счетчика ссылок для параметра pUnk.

Атрибуты

Комментарии

Среда CLR управляет числом ссылок com-объекта, поэтому использовать этот метод напрямую не требуется. В редких случаях, например при тестировании пользовательского маршалера, может потребоваться управлять временем существования объекта вручную. После вызова AddRefнеобходимо уменьшать количество ссылок с помощью метода, Marshal.Releaseнапример . Не полагайтесь на возвращаемое значение AddRef, так как оно иногда может быть нестабильным.

Можно вызвать Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObjectили Marshal.GetIDispatchForObject , чтобы получить IntPtr значение, представляющее указатель интерфейса IUnknown . Вы также можете использовать эти методы и AddRef метод для управляемых объектов, чтобы получить ИНТЕРФЕЙСы COM, представленные вызываемой оболочкой COM управляемого объекта. Если вы не знакомы со сведениями об этом типе оболочки, см. статью Вызываемая оболочка COM.

Применяется к

См. также раздел