Здравствуйте, 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 это конечно