James Hawkins truiken@gmail.com writes:
+typedef struct IOleInPlaceFrameImpl +{
- IOleInPlaceFrame frame;
- HWND window;
+} IOleInPlaceFrameImpl;
+typedef struct IOleInPlaceSiteImpl +{
- IOleInPlaceSite inplace;
- IOleInPlaceFrameImpl frame;
+} IOleInPlaceSiteImpl;
+typedef struct IOleClientSiteImpl +{
- IOleClientSite client;
- IOleInPlaceSiteImpl inplace;
- IDocHostUIHandler ui;
+} IOleClientSiteImpl;
You should define a single structure with multiple vtbl pointers, and compute the This pointer based on structure offsets. Look at how this is done in other places, like shelllink.c for instance.