Early Preview

This is currently very much a preview. Please feel free to try things out, but don't be upset if anything is not yet working. Feedback is welcome over on our GitHub Dicussions page.

enum System.Runtime.InteropServices.CreateComInterfaceFlags

Assembly: System.Runtime.InteropServices

Specifies flags for the <see cref="M:System.Runtime.InteropServices.ComWrappers.GetOrCreateComInterfaceForObject(System.Object,System.Runtime.InteropServices.CreateComInterfaceFlags)" /> method.

Values

None
Flag used to indicate no flags set.
CallerDefinedIUnknown
<para>The caller will provide an IUnknown Vtable.</para> <para>This flag is useful in scenarios when the caller has no need to rely on an IUnknown instance that's used when it's not possible to run managed code (that is, during a garbage collection). This is common in traditional COM scenarios, but scenarios where Reference Tracker hosting calls the IUnknown API during a garbage collection are possible.</para>
TrackerSupport
<para>Flag used to indicate the COM interface should implement IReferenceTrackerTarget.</para> <para>When this flag is passed, the resulting COM interface will have an internal implementation of IUnknown, therefore, none should be supplied by the caller.</para>