Я создал COM DLL, используя ATL.Когда я пытаюсь использовать его в неуправляемом C ++, я обнаруживаю переполнение буфера.В настоящее время я тестирую с помощью одного простого метода OnInitIDA (), и все, что я делаю в этом, - это оператор cout и return.Когда я запустил это, HRESULT вернул бы 0, однако это не вывело бы строку, которую я ожидал.Используя пошаговый переход к функциям отладчика, я обнаружил, что вместо того, чтобы вводить код для OnInitIDA при его вызове, он фактически перешел в другой метод с именем GetInclusionList.Как только я поместил оператор в этот метод и когда приложение было запущено, эта строка была распечатана.Кто-нибудь знает, почему будет вызван неправильный метод?
Если это поможет, мой код был размещен здесь: https://docs.google.com/open?id=0B3ehFEncKJH7ZDgxMGI1YjgtZTE2MS00ZTBkLWI2NzgtYzVhZjUxOWEzZGI0