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

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

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

Int32

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

Атрибуты

Комментарии

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

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

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

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