Freigeben über


Marshal.AddRef(IntPtr) Methode

Definition

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

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

Parameter

pUnk
IntPtr

nativeint

Der zu inkrementierende Verweiszähler für Schnittstellen.

Gibt zurück

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

Attribute

Hinweise

Die Common Language Runtime verwaltet die Verweisanzahl eines COM-Objekts für Sie, sodass es nicht erforderlich ist, diese Methode direkt zu verwenden. In seltenen Fällen, z. B. beim Testen eines benutzerdefinierten Marshallers, ist es möglicherweise erforderlich, die Lebensdauer eines Objekts manuell zu bearbeiten. Nach dem Aufrufen AddRefvon müssen Sie die Verweisanzahl mithilfe einer -Methode wie Marshal.Releaseverringern. Verlassen Sie sich nicht auf den Rückgabewert von AddRef, da er manchmal instabil sein kann.

Sie können , Marshal.GetIUnknownForObjectoder Marshal.GetIDispatchForObject aufrufenMarshal.GetComInterfaceForObject, um einen IntPtr Wert abzurufen, der einen IUnknown-Schnittstellenzeiger darstellt. Sie können diese Methoden und die AddRef -Methode auch für verwaltete Objekte verwenden, um die COM-Schnittstellen abzurufen, die durch den COM-aufrufbaren Wrapper des verwalteten Objekts dargestellt werden. Wenn Sie mit den Details dieses Wrappertyps nicht vertraut sind, lesen Sie COM Callable Wrapper.

Gilt für:

Weitere Informationen