Re: [RFC] gameux.dll implementation stub [try 2]

2010-06-20 Thread Henri Verbeet
2010/6/19 Vincent Povirk :

> I would change the second argument type of the instance creation
> functions to IUnknown**. When I see an LPVOID* argument on a
> COM-related function, I immediately expect to see a REFIID argument
> and a QueryInterface somewhere in the function.

Actually, when I see something like "LPCRAP lpSomeVar" I mostly think
"*Please* don't do that." :-\




Re: [RFC] gameux.dll implementation stub [try 2]

2010-06-18 Thread Vincent Povirk
I don't have as much to say this time.

You should release the interfaces you create in your tests, so there
are no memory leaks.

I would change the second argument type of the instance creation
functions to IUnknown**. When I see an LPVOID* argument on a
COM-related function, I immediately expect to see a REFIID argument
and a QueryInterface somewhere in the function. Really, all the caller
expects is an IUnknown pointer (it takes care of querying the correct
interface), so the signature should reflect that.

The way the IGameExplorer and IGameExplorer2 interfaces are shared
looks good to me. I would probably combine those patches and start
with a stub IGameExplorer/IGameExplorer2 implementation. But it's easy
to combine patches and not so easy to split them, so maybe you should
err on the side of keeping things separate.