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