COM组件里的lpVtbl必须是结构体第一个成员变量吧?可不可以把它放在其他位置?
例如下面代码:
#undef  INTERFACE
#define INTERFACE   IExample
DECLARE_INTERFACE_ (INTERFACE, IUnknown)
{
STDMETHOD  (QueryInterface) (THIS_ REFIID, void **) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
STDMETHOD  (SetString) (THIS_ char *) PURE;
STDMETHOD  (GetString) (THIS_ char *, DWORD) PURE;
};
typedef struct {
IExampleVtbl          *lpVtbl;  // 这个lpVtbl必须是该结构体第一个成员变量吧?可不可以把它放在其他位置?
         DWORD count;
char buffer[80];
} MyRealIExample;