Сообщение 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.
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.
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.
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.