Re[6]: .Net Core Вызов виртуальных методов нативных объектов
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 16.11.16 08:15
Оценка:
Здравствуйте, pilgrim_, Вы писали:
Огромнейшее спасибо!


Проблема была в прямом использовании ICallback

Но вот куча

[ComVisible(true), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [Guid("FFB46654-083E-486A-94B8-E28B5C01561D")]
    public interface ICallback
    {
        void execute(int value);
    }



То есть вместо

public static void CallInterface(ICallback cb)
        {
            cb.execute();

        }



Нужно использовать


      public static void CallInterface(IntPtr cb)
        {

            var cb2 = Marshal.GetObjectForIUnknown(cb)  as ICallback;

            cb2?.execute(555);

        }


Но вот на 1 вызов куча QueryInterface, AddRef и Release это конечно
и солнце б утром не вставало, когда бы не было меня
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.