Freigeben über


Marshal.AddRef-Methode: (IntPtr)

 

Veröffentlicht: Oktober 2016

Inkrementiert den Verweiszähler für die angegebene Schnittstelle.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Syntax

[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

Parameter

  • pUnk
    Type: System.IntPtr

    Der zu inkrementierende Verweiszähler für Schnittstellen.

Rückgabewert

Type: System.Int32

Der neue Wert des Verweiszählers für den pUnk-Parameter.

Hinweise

Die common Language Runtime verwaltet den Verweiszähler eines COM-Objekts für Sie, sodass es nicht erforderlich, diese Methode direkt verwenden. In seltenen Fällen, beispielsweise bei einen benutzerdefinierten Marshaller Tests, möglicherweise finden Sie es erforderlich, die Lebensdauer eines Objekts manuell zu bearbeiten. Nach dem Aufruf von AddRef, müssen Sie den Verweiszähler mit einer Methode wie z. B. Dekrementieren Marshal.Release. Verlassen Sie sich nicht auf den Rückgabewert von AddRef, da dieser instabil sein kann.

Rufen Sie Marshal.GetComInterfaceForObject, Marshal.GetIUnknownForObject, oder Marshal.GetIDispatchForObject zum Abrufen einer IntPtr Wert, der darstellt ein IUnknown -Schnittstellenzeiger. Sie können diese Methoden auch verwenden und die AddRef Methode für verwaltete Objekte zum Abrufen der COM-Schnittstellen, die das verwaltete Objekt COM callable Wrapper dargestellt. Wenn Sie nicht mit den Details dieses Typs Wrapper vertraut sind, finden Sie unter COM Callable Wrapper.

Sicherheit

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Versionsinformationen

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1

Siehe auch

Release
QueryInterface
GetComInterfaceForObject
GetIUnknownForObject
GetIDispatchForObject
Marshal-Klasse
System.Runtime.InteropServices-Namespace
IUnknown::AddRef

Zurück zum Anfang