мда, собрался я написать плагин для l2phx на C#, да крепко обломался
да, да именно на шарпе, методика экспорта функций у сборок есть
например, этот инструмент делает это автоматизированно
hxxp://netobf.com/obf_optimization_dllexport
А если руками хочется, то вот описание
hxxp://blog.undsoft.com/programming/export-managed-to-unmanaged/
А облом заключился в том что unmanaged не поддерживает соглашение о вызове fastcall
То есть я не могу вызывать методы объекта TPluginStruct после получения его в SetStruct. В остальном то порядок, и пакеты могу смотреть и менять на лету. Через класс Marshal все волшебно делается.
Я так понял, что сейчас и на с++ не получится сделать, т.к. у него свои представления о fastcall
Может стоит пересмотреть политику в плане плагинов и сделать более открытым интерфейс для всех языков
И не использовать в нем частности тип string.