Skip to main content
Home Forums CFPlugInCOM.h CFPlugInCOM.h
Thread

CFPlugInCOM.h

CFPlugInCOM.h Software 1 post Sep 26, 2009
Good news, after dropping SOMobjects, Apple have decided to adopt a language independent object model, ie COM and is even available on the iPhone.

Bad news, how did they manage to screw up IUnknown::QueryInterface so badly? The normal COM passes the IID as a pointer, what did Apple do? Some plonker defined REFIID as CFUUIDBytes so you now have to push 16 bytes on the stack instead of passing a reference. Presumably this screw-up occurred because originally on a Mac a UUID was just 16 bytes as an array, when they moved it to a struct containing 16 bytes it messed up the ABI. If they had originally defined it DCE had defined it decades ago they wouldn't have fallen into this mess.

mp.ls