С числом все в порядке.
Метод научного тыка показал, что такая конструкция:
SendAndRecieveData([in] LONG* port) работает как надо.
а вот если сделать так SendAndRecieveData([in] CHAR* hostName), то опять появляется ошибка. Т.е. проблема в передаче строк.
Пробовал TCHAR* - не помогло.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший