If we didn't want strict compatability with MS COM, could we omit the _reserved #ifdef? Or is the real issue that on OSX, this C declaration: struct Foo { t (*Method)(void*); }; Does not layout identically to the C++ struct Foo { virtual t Method(void*) = 0; }; Maybe on the Mac the _reserved is for RTTI or something? -----Original Message----- From: gmpi-bounce@xxxxxxxxxxxxx [mailto:gmpi-bounce@xxxxxxxxxxxxx] On Behalf Of Jeff McClintock Sent: Thursday, February 10, 2005 4:34 PM To: gmpi@xxxxxxxxxxxxx Subject: [gmpi] Re: low level API - Abstract Factory summary > note that the vtable format is platform dependent. On Mac OS X > the first member of the vtable is a reserved void* Thankyou, now looks like.. // GMPI_Plugin INTERFACE typedef struct _IGMPI_Plugin { struct IGMPI_PluginVtbl *Vtbl; } IGMPI_Plugin; struct IGMPI_PluginVtbl { // IUnknown methods #ifdef MACOSX // or maybe just MACOS void *_reserved; /* part of COM binary standard on Mac */ #endif GMPI_RESULT (*QueryInterface) (IGMPI_Plugin *, const GMPI_GUID, void **); int32_t (*AddRef) (IGMPI_Plugin *); int32_t (*Release) (IGMPI_Plugin *); // IGMPI_Plugin methods int32_t (*Placeholder1) (IGMPI_Plugin *, int32_t); int32_t (*Placeholder2) (IGMPI_Plugin *, int32_t *); }; ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe