P / Invoke - C # подпись для пользовательских типов, использующих DLLImport? - PullRequest
3 голосов
/ 22 августа 2011
void MyUnmanagedFunc(
          CustomClass&   szOutputData
        , ICustomObject* pDataObject
        , const LPCWSTR   szTag
        , const LPCWSTR   szDisplay = NULL
        , const BOOL      bAdd = TRUE
    );

У меня есть вышеуказанная сигнатура функции, определенной в C ++ DLL, скажем, abc.dll. Я не могу создать правильную подпись метода в C #. Обратите внимание, что CustomClass определено в некотором другом файле, скажем, xyz.dll и с __declspec(dllexport). Я попытался этот инструмент для генерации подписи.

Извините, если я повторил вопрос. Я пытался найти перед публикацией.

1 Ответ

1 голос
/ 22 августа 2011

Возможное решение - создать смешанную сборку, написанную на C ++. Он может включать в себя любые необходимые заголовки и метод вызова выше из abc.dll и одновременно может предоставлять управляемую оболочку.

...