Commit 40af1a87 authored by Marcus Meissner's avatar Marcus Meissner Committed by Alexandre Julliard

Arg 3 of CoGetClassObject is COSERVERINFO*, added some more debug.

parent fd99bcb2
...@@ -1150,9 +1150,10 @@ HRESULT WINAPI CoRevokeClassObject( ...@@ -1150,9 +1150,10 @@ HRESULT WINAPI CoRevokeClassObject(
/*********************************************************************** /***********************************************************************
* CoGetClassObject [COMPOBJ.7] * CoGetClassObject [COMPOBJ.7]
*/ */
HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, HRESULT WINAPI CoGetClassObject(
LPVOID pvReserved, REFIID iid, LPVOID *ppv) REFCLSID rclsid, DWORD dwClsContext, COSERVERINFO *pServerInfo,
{ REFIID iid, LPVOID *ppv
) {
LPUNKNOWN regClassObject; LPUNKNOWN regClassObject;
HRESULT hres = E_UNEXPECTED; HRESULT hres = E_UNEXPECTED;
char xclsid[80]; char xclsid[80];
...@@ -1170,6 +1171,11 @@ HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, ...@@ -1170,6 +1171,11 @@ HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext,
debugstr_guid(iid) debugstr_guid(iid)
); );
if (pServerInfo) {
FIXME("\tpServerInfo: name=%s\n",debugstr_w(pServerInfo->pwszName));
FIXME("\t\tpAuthInfo=%p\n",pServerInfo->pAuthInfo);
}
/* /*
* First, try and see if we can't match the class ID with one of the * First, try and see if we can't match the class ID with one of the
* registered classes. * registered classes.
...@@ -1192,9 +1198,13 @@ HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, ...@@ -1192,9 +1198,13 @@ HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext,
} }
/* out of process and remote servers not supported yet */ /* out of process and remote servers not supported yet */
if (((CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER) & dwClsContext) if ( ((CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER) & dwClsContext)
&& !((CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER) & dwClsContext)){ && !((CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER) & dwClsContext)
FIXME("CLSCTX_LOCAL_SERVER and CLSCTX_REMOTE_SERVER not supported!\n"); ){
FIXME("%s %s not supported!\n",
(dwClsContext&CLSCTX_LOCAL_SERVER)?"CLSCTX_LOCAL_SERVER":"",
(dwClsContext&CLSCTX_REMOTE_SERVER)?"CLSCTX_REMOTE_SERVER":""
);
return E_ACCESSDENIED; return E_ACCESSDENIED;
} }
...@@ -1383,8 +1393,10 @@ HRESULT WINAPI CoCreateInstance( ...@@ -1383,8 +1393,10 @@ HRESULT WINAPI CoCreateInstance(
&IID_IClassFactory, &IID_IClassFactory,
(LPVOID)&lpclf); (LPVOID)&lpclf);
if (FAILED(hres)) if (FAILED(hres)) {
FIXME("no instance created for %s, hres is 0x%08lx\n",debugstr_guid(iid),hres);
return hres; return hres;
}
/* /*
* Create the object and don't forget to release the factory * Create the object and don't forget to release the factory
......
...@@ -628,7 +628,7 @@ void WINAPI CoFreeUnusedLibraries(void); ...@@ -628,7 +628,7 @@ void WINAPI CoFreeUnusedLibraries(void);
HRESULT WINAPI CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv); HRESULT WINAPI CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv);
HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, LPVOID pvReserved, REFIID iid, LPVOID *ppv); HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext, COSERVERINFO *pServerInfo, REFIID iid, LPVOID *ppv);
HRESULT WINAPI CoInitialize(LPVOID lpReserved); HRESULT WINAPI CoInitialize(LPVOID lpReserved);
HRESULT WINAPI CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit); HRESULT WINAPI CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment