Я пытаюсь разработать COM-объект с использованием C ++ и ATL для клиентов C ++ и C # Windows Mobile. COM-объект объединяет всю логику для подключения к нашему серверу и отправки / получения данных с использованием нашего закрытого протокола. У меня возникли трудности с созданием события OnReceive, которое корректно работает с C # и C ++.
Я определил функцию события следующим образом:
HRESULT OnReceive (BYTE * pBuffer, LONG lSize);
Но когда я смотрю на функцию в C # или Object Browser, она выглядит так:
OnReceive (реф байт pBuffer, int lSize);
Как бы я трактовал "ref byte" как указатель в C #? Как передать двоичные данные в OnReceive и разрешить клиентам C ++ и C # получать доступ к двоичным данным?