diff --git a/dlls/atl/atl.spec b/dlls/atl/atl.spec index 792117937f5..105a91ed921 100644 --- a/dlls/atl/atl.spec +++ b/dlls/atl/atl.spec @@ -1,5 +1,5 @@ 1 stub DllCanUnloadNow -2 stub DllGetClassObject +2 stdcall -private DllGetClassObject(ptr ptr ptr) ATL_DllGetClassObject 3 stdcall -private DllRegisterServer() ATL_DllRegisterServer 4 stdcall -private DllUnregisterServer() ATL_DllUnregisterServer 10 stdcall AtlAdvise(ptr ptr ptr ptr) diff --git a/dlls/atl/regsvr.c b/dlls/atl/regsvr.c index c253441b455..0e08ea29f90 100644 --- a/dlls/atl/regsvr.c +++ b/dlls/atl/regsvr.c @@ -554,3 +554,16 @@ HRESULT WINAPI ATL_DllUnregisterServer(void) hr = unregister_interfaces(interface_list); return hr; } + +/*********************************************************************** + * DllGetClassObject (ATL.@) + */ +HRESULT WINAPI ATL_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) +{ + if (IsEqualCLSID (rclsid, &CLSID_ATLRegistrar)) { + FIXME("No COM Class for ATLRegistrar\n"); + return CLASS_E_CLASSNOTAVAILABLE; + } + FIXME("(%s, %s, %p): no interface found.\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv); + return CLASS_E_CLASSNOTAVAILABLE; +}