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