Я хочу написать приложение с помощью csharp, которое считывает содержимое файла и передает его в COM-объект ATL.
У меня проблема с IDL. Я определил метод с именем «Decode» для объекта ATL-COM, как показано ниже:
[id(101), helpstring("Decode")] HRESULT Decode([in] BYTE* pBuff, [in] INT nLen, [out, retval] INT* pnRetVal);
Но, когда я скомпилировал свой собственный COM-dll и захотел использовать его в приложении CSharp, я нашел метод с такой подписью:
int MyClass.Decode(ref byte pBuff, int nLen);
Но я исключил, что у меня есть такой метод:
int MyClass.Decode(byte[] pBuff, int nLen);
У вас есть предложения? Я также пробовал разные типы, такие как VARIANT * или BYTE **, но я ищу лучшее решение.