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.