Zebediah Figura z.figura12@gmail.com writes:
@@ -899,17 +899,22 @@ HRESULT WINAPI CoCreateGuid16(GUID *pguid)
CoCreateInstance [COMPOBJ.13]
*/ HRESULT WINAPI CoCreateInstance16(
- REFCLSID rclsid,
- LPUNKNOWN pUnkOuter,
- DWORD dwClsContext,
- REFIID iid,
- LPVOID *ppv)
-{
- FIXME("(%s, %p, %x, %s, %p), stub!\n",
- debugstr_guid(rclsid), pUnkOuter, dwClsContext, debugstr_guid(iid),
- ppv
- );
- return E_NOTIMPL;
- REFCLSID rclsid,
- LPUNKNOWN pUnkOuter,
- DWORD dwClsContext,
- REFIID riid,
- LPVOID *ppv)
+{
- IClassFactory *cf;
- HRESULT hr;
- hr = CoGetClassObject16(rclsid, dwClsContext, NULL, &IID_IClassFactory, (void **)&cf);
- if (FAILED(hr))
return hr;
- hr = IClassFactory_CreateInstance(cf, pUnkOuter, riid, ppv);
- IClassFactory_Release(cf);
- return hr;
CoGetClassObject16 is supposed to return a 16-bit interface, you can't call it like that. How did you test this?