Método Marshal.AddRef (IntPtr)
Dica
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.
Incrementa a contagem de referência na interface especificada.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (em mscorlib.dll)
Sintaxe
[SecurityCriticalAttribute]
public static int AddRef(
IntPtr pUnk
)
public:
[SecurityCriticalAttribute]
static int AddRef(
IntPtr pUnk
)
[<SecurityCriticalAttribute>]
static member AddRef :
pUnk:nativeint -> int
<SecurityCriticalAttribute>
Public Shared Function AddRef (
pUnk As IntPtr
) As Integer
Parâmetros
pUnk
Type: System.IntPtrA contagem de referência da interface a ser incrementada.
Valor Retornado
Type: System.Int32
O novo valor da contagem de referência no parâmetro pUnk.
Comentários
O common language runtime gerencia a contagem de referência de um objeto COM para você, tornando desnecessário usar este método diretamente. Em casos raros, como testes de um marshaler personalizado, talvez seja necessário para manipular o tempo de vida de um objeto manualmente. Depois de chamar AddRef, você deve diminuir a contagem de referência usando um método como Marshal.Release. Não confie no valor de retorno de AddRef, como às vezes pode estar instável.
Você pode chamar Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObject, ou Marshal.GetIDispatchForObject para obter um IntPtr valor que representa um IUnknown ponteiro de interface. Você também pode usar esses métodos e AddRef método em objetos gerenciados para obter as interfaces COM representado pelo invólucro do objeto gerenciado. Se você não estiver familiarizado com os detalhes deste tipo de conteúdo adicional, consulte COM Callable Wrapper.
Segurança
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Informações de Versão
Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 1.1
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Windows Phone Silverlight
Disponível desde 8.0
Windows Phone
Disponível desde 8.1
Confira Também
Release
QueryInterface
GetComInterfaceForObject
GetIUnknownForObject
GetIDispatchForObject
Classe Marshal
Namespace System.Runtime.InteropServices
IUnknown::AddRef
Retornar ao início