Marshal.AddRef(IntPtr) Метод

Определение

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

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

Параметры

pUnk
IntPtr

nativeint

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

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

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

Атрибуты

Комментарии

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

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

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

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