diff --git a/docs/standard/native-interop/comwrappers-source-generation.md b/docs/standard/native-interop/comwrappers-source-generation.md index 36139a15861bf..7741008e16d1f 100644 --- a/docs/standard/native-interop/comwrappers-source-generation.md +++ b/docs/standard/native-interop/comwrappers-source-generation.md @@ -19,11 +19,11 @@ interface IFoo void Method(int i); } -[DllImport("MyComObjectProvider.dll")] -static nint GetPointerToComInterface(); +[DllImport("MyComObjectProvider")] +static nint GetPointerToComInterface(); // C definition - IUnknown* GetPointerToComInterface(); -[DllImport("MyComObjectProvider.dll")] -static void GivePointerToComInterface(nint comObject); +[DllImport("MyComObjectProvider")] +static void GivePointerToComInterface(nint comObject); // C definition - void GivePointerToComInterface(IUnknown* pUnk); // Use the system to create a Runtime Callable Wrapper to use in managed code nint ptr = GetPointerToComInterface(); @@ -67,22 +67,22 @@ internal partial class Foo : IFoo At compile time, the generator creates an implementation of the ComWrappers API, and you can use the type or a custom derived type to consume or expose the COM interface. ```csharp -[LibraryImport("MyComObjectProvider.dll")] -static nint GetPointerToComInterface(); +[LibraryImport("MyComObjectProvider")] +private static partial nint GetPointerToComInterface(); // C definition - IUnknown* GetPointerToComInterface(); -[LibraryImport("MyComObjectProvider.dll")] -static void GivePointerToComInterface(nint comObject); +[LibraryImport("MyComObjectProvider")] +private static partial void GivePointerToComInterface(nint comObject); // C definition - void GivePointerToComInterface(IUnknown* pUnk); // Use the ComWrappers API to create a Runtime Callable Wrapper to use in managed code ComWrappers cw = new StrategyBasedComWrappers(); nint ptr = GetPointerToComInterface(); -IFoo foo = (IFoo)cw.GetOrCreateObjectForComInterface(ptr); +IFoo foo = (IFoo)cw.GetOrCreateObjectForComInstance(ptr, CreateObjectFlags.None); foo.Method(0); ... // Use the system to create a COM Callable Wrapper to pass to unmanaged code ComWrappers cw = new StrategyBasedComWrappers(); Foo foo = new(); -nint ptr = cw.GetOrCreateComInterfaceForObject(foo); +nint ptr = cw.GetOrCreateComInterfaceForObject(foo, CreateComInterfaceFlags.None); GivePointerToComInterface(ptr); ```