Здравствуйте, Аноним, Вы писали:
А>Стандартная имплементация DllCanUnloadNow:
А>STDAPI DllCanUnloadNow(void)
А>{
А>#ifdef _MERGE_PROXYSTUB
А> HRESULT hr = PrxDllCanUnloadNow();
А> if (FAILED(hr))
А> return hr;
А>#endif
А> return _AtlModule.DllCanUnloadNow();
А>}
А>Почему результат вызова PrxDllCanUnloadNow, в частности S_FALSE, игнорируется?
А>Ведь у библиотеки могут быть только ссылки на прокси и ни одной на компоненты, если они используются удаленно.
Это ошибка в визарде ATL. Надо исправлять руками:
if (S_OK != hr)
return hr;
Вроде бы, они исправили в последней версии. А может и нет, я точно не помню.