ComWrappers.GetIUnknownImpl(IntPtr, IntPtr, IntPtr) Method

Definition

Gets the runtime-provided IUnknown implementation.

protected:
 static void GetIUnknownImpl([Runtime::InteropServices::Out] IntPtr % fpQueryInterface, [Runtime::InteropServices::Out] IntPtr % fpAddRef, [Runtime::InteropServices::Out] IntPtr % fpRelease);
public:
 static void GetIUnknownImpl([Runtime::InteropServices::Out] IntPtr % fpQueryInterface, [Runtime::InteropServices::Out] IntPtr % fpAddRef, [Runtime::InteropServices::Out] IntPtr % fpRelease);
protected static void GetIUnknownImpl (out IntPtr fpQueryInterface, out IntPtr fpAddRef, out IntPtr fpRelease);
public static void GetIUnknownImpl (out IntPtr fpQueryInterface, out IntPtr fpAddRef, out IntPtr fpRelease);
static member GetIUnknownImpl : nativeint * nativeint * nativeint -> unit
Protected Shared Sub GetIUnknownImpl (ByRef fpQueryInterface As IntPtr, ByRef fpAddRef As IntPtr, ByRef fpRelease As IntPtr)
Public Shared Sub GetIUnknownImpl (ByRef fpQueryInterface As IntPtr, ByRef fpAddRef As IntPtr, ByRef fpRelease As IntPtr)

Parameters

fpQueryInterface
IntPtr

nativeint

Function pointer to QueryInterface.

fpAddRef
IntPtr

nativeint

Function pointer to AddRef.

fpRelease
IntPtr

nativeint

Function pointer to Release.

Remarks

The runtime implementations of these IUnknown functions are all thread-safe. Each of them is optimized and strictly follows the COM rules for IUnknown. The QueryInterface implementation also respects the ICustomQueryInterface interface. The ICustomQueryInterface interface will never have an opportunity to override interfaces that the runtime provides. For example, by default the runtime provides the IUnknown interface and, optionally, the Reference Tracker IReferenceTrackerTarget interface.

Applies to