ol32: Make enumx implementation look more like a COM interface.

Alexandre Julliard julliard at winehq.org
Mon Jun 24 06:52:54 CDT 2013

Dmitry Timoshkov <dmitry at baikal.ru> writes:

> Alexandre Julliard <julliard at winehq.org> wrote:
>> > The patch actually removes the casts, the only cast that remains is the cast
>> > on the caller's side for the vtable pointer (which is much cleaner IMO since
>> > every COM object implements IUnknown), but the implementation itself is cast
>> > free, and looks now as an actual COM object.
>> Not really. An actual COM object would contain a pointer to a vtable for
>> the correct interface. IUnknown is not much better than void*.
> enumx doesn't need anything else besides IUnknown interface, having right
> inteface definition won't change anything.

enumx is not a real interface. The real interfaces are
IEnumSTATPROPSETSTG and IEnumSTATPROPSTG, and that's what the vtables
should be, in the corresponding objects. The common code can be shared
with helper functions.

Alexandre Julliard
julliard at winehq.org

More information about the wine-devel mailing list