Информация об изменениях

Сообщение Re[23]: github после покупки Microsoft от 16.12.2018 11:21

Изменено 16.12.2018 11:38 vdimas

Re[23]: github после покупки Microsoft
Здравствуйте, Ночной Смотрящий, Вы писали:

V>>>>Я пока не понимаю, что подразумевается под "нормальным" интеропом.

НС>>>Например поддержка CCW/RCW
V>>Было бы что дёргать из под линухов под CCW.
НС>Не линухом единым.

Есть и вовсе циничный вариант:
https://docs.microsoft.com/en-us/dotnet/core/tutorials/netcore-hosting

UPD, обратные вызовы делаются примерно так:
https://github.com/naudio/NAudio/blob/master/NAudio/Wave/Asio/ASIODriver.cs

Листать до private class AsioDriverVTable
Метод выше автоматически заполняет VTable.

Это способ вызывать любые виртуальные С++-методы, не только COM.
Но в том числе и COM, ес-но, если встроенная поддержка хромает.

Пример интересен тем, что COM-интерфейс ASIO-драйверов не является OLE-совместимым, поэтому не может быть использован через стандартный COM-Interop.

UPD2
Хотя оно и выглядит немного "страшно", генерирование таких описаний требуемый интерфейсов, ес-но, может быть автоматизированно develop-time утилиткой, писанной на десктопном .Net Framework.
Re[23]: github после покупки Microsoft
Здравствуйте, Ночной Смотрящий, Вы писали:

V>>>>Я пока не понимаю, что подразумевается под "нормальным" интеропом.

НС>>>Например поддержка CCW/RCW
V>>Было бы что дёргать из под линухов под CCW.
НС>Не линухом единым.

Есть и вовсе циничный вариант:
https://docs.microsoft.com/en-us/dotnet/core/tutorials/netcore-hosting

UPD, обратные вызовы делаются примерно так:
https://github.com/naudio/NAudio/blob/master/NAudio/Wave/Asio/ASIODriver.cs

Листать до private class AsioDriverVTable
Метод выше автоматически заполняет VTable.

Это способ вызывать любые виртуальные С++-методы, не только COM.
Но в том числе и COM, ес-но, если встроенная поддержка хромает.

Пример интересен тем, что COM-интерфейс ASIO-драйверов не является OLE-совместимым, поэтому не может быть использован через стандартный COM-Interop.

UPD2
Хотя оно и выглядит немного "страшно", генерирование таких описаний требуемых интерфейсов, ес-но, может быть автоматизированно develop-time утилиткой, писанной на десктопном .Net Framework.