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

This commit is contained in:
Marcus Meissner 2001-04-09 18:33:49 +00:00 committed by Alexandre Julliard
parent fd99bcb260
commit 40af1a87a5
2 changed files with 20 additions and 8 deletions

View file

@ -1150,9 +1150,10 @@ HRESULT WINAPI CoRevokeClassObject(
/***********************************************************************
* CoGetClassObject [COMPOBJ.7]
*/
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
) {
LPUNKNOWN regClassObject;
HRESULT hres = E_UNEXPECTED;
char xclsid[80];
@ -1170,6 +1171,11 @@ HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext,
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
* registered classes.
@ -1192,9 +1198,13 @@ HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext,
}
/* out of process and remote servers not supported yet */
if (((CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER) & dwClsContext)
&& !((CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER) & dwClsContext)){
FIXME("CLSCTX_LOCAL_SERVER and CLSCTX_REMOTE_SERVER not supported!\n");
if ( ((CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER) & dwClsContext)
&& !((CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER) & dwClsContext)
){
FIXME("%s %s not supported!\n",
(dwClsContext&CLSCTX_LOCAL_SERVER)?"CLSCTX_LOCAL_SERVER":"",
(dwClsContext&CLSCTX_REMOTE_SERVER)?"CLSCTX_REMOTE_SERVER":""
);
return E_ACCESSDENIED;
}
@ -1383,8 +1393,10 @@ HRESULT WINAPI CoCreateInstance(
&IID_IClassFactory,
(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;
}
/*
* Create the object and don't forget to release the factory

View file

@ -628,7 +628,7 @@ void WINAPI CoFreeUnusedLibraries(void);
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 CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit);