Даже не удобно задавать... Но я только начинаю знакомство с ATL.
Есть такой класс:
class ATL_NO_VTABLE CNameProvider :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CNameProvider, &CLSID_NameProvider>,
public IDispatchImpl<INameProvider, &IID_INameProvider, &LIBID_NameLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public ICredentialProvider
{
public:
//CMatchLogonProvider()
//{
//}
DECLARE_REGISTRY_RESOURCEID(IDR_NAMEPROVIDER)
BEGIN_COM_MAP(CNameProvider)
COM_INTERFACE_ENTRY(INameProvider)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ICredentialProvider)
END_COM_MAP()
....
При попытке создать экземпляр этого класса пишет что нельзя создавать экземпляр абстрактного класса.
Что не определены QueryInterface, Release и AddReff.
Но как я понимаю эти методы должны вставлять макросы и их не нужно реализовывать в ручную.
Или их реально надо в ручную писать? Помогите неучу...