On Mon, May 05, 2003 at 07:09:07AM +0200, Sylvain Petreolle wrote:
Sorry, I didnt notice that lpclf is the variables that receives the pointer.
Why not check why it's "always 0" for you, instead of complaining that it is? If the CoGetClassObject call can't obtain the class factory, it's usually because the registry entries are missing, incorrect, or the referenced dll can't be loaded, but then it should have returned a failure, and CoCreateInstance should then bail out before getting to this point. You could also find out why it didn't, then?
Yes, found it. The problem isnt in the macro. :) We should add a check in the case no class factory is found, to avoid crashing. But I dont understand why CoGetClassObject returns ok and leaves lpclf set to NULL. Adding a TRACE after CoGetClassObject I get :
...
trace:ole:CoCreateInstance sanity check: hres=00000000, lpclf=00000000 <= shouldnt happen.
Who is returning this hres 0x0 value? Which dll? Whoever it is, it is broken.
Ciao, Marcus