У меня есть исполняемый файл COM-сервера вне процесса, который был разработан с использованием Visual Studio 6.0 и работает нормально в течение последних 10 лет. Теперь я преобразовал этот проект в Visual Studio 2010 и столкнулся с проблемой с GetInterfaceFromGlobal ().
Я использую GIT для хранения указателей IDispatch для каждого из моих COM-клиентов, чтобы я мог отправлять им события с COM-сервера вне процесса. После отладки я узнал, что нет. количество соединений, возвращаемых функцией m_vec.Getsize (), равно 4 вместо 1. Даже если я добавлю только одного клиента, значение будет равно 4. Я проверил ATLCOM.h, и в этом файле _DEFAULT_VECTORLENGTH изменяется с 1 на 4 в последние версии.
#ifndef _DEFAULT_VECTORLENGTH
#define _DEFAULT_VECTORLENGTH 4
#endif
Какой-нибудь совет, как я могу переопределить это значение? Должен ли я просто переопределить это к 1 в моем коде? Будет ли это иметь какие-либо побочные эффекты? или я что-то упустил?
Спасибо заранее
Хариш