Я использую Visual Studio 2008 и Win7 64 бит
Я хочу запустить новый процесс (сервер out-proc) для каждого запроса клиента (CoCreateInstanceEx). Шаги, которые я выполнил для достижения
Переопределить PreMessageLoop.
В функции PreMessageLoop я регистрирую свой объект класса как «REGCLS_SINGLEUSE».
RegisterClassObjects (CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER, REGCLS_SINGLEUSE);
Таким образом, для каждого вызова CoCreateInstanceEx должен запускаться новый процесс сервера. Но он создает только один exe для следующего фрагмента кода.
for(int i=0; i < 5; i++)
{
// COSERVERINFO and MULTI_QI creation and initialization is done here.
hr = ::CoCreateInstanceEx(__uuidof(MyClass), NULL, CLSCTX_SERVER, &oServerInfo, 1, multi_qi);
_ASSERTE( SUCCEEDED(hr) );
}
Задача ещё не решена.
Других решений пока нет …