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

Int32

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

Attribute

Hinweise

Die allgemeine Sprachlaufzeit verwaltet die Referenzanzahl eines COM-Objekts für Sie, wodurch es unnötig ist, diese Methode direkt zu verwenden. In seltenen Fällen, z. B. das Testen eines benutzerdefinierten Marshalers, können Sie feststellen, dass es notwendig ist, die Lebensdauer eines Objekts manuell zu bearbeiten. Nach dem Aufrufen AddRefmüssen Sie die Referenzanzahl mithilfe einer Methode wie Marshal.Releasez. B. decrementieren. Verlassen Sie sich nicht auf den Rückgabewert von AddRef, da sie manchmal instabil sein kann.

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

Gilt für

Siehe auch