typedef struct IStandardActivatorVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
        IStandardActivator * This,
        /* [in] */ REFIID riid,
        /* [iid_is][out] */ void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(
        IStandardActivator * This);

    ULONG ( STDMETHODCALLTYPE *Release )(
        IStandardActivator * This);

    HRESULT ( STDMETHODCALLTYPE *StandardGetClassObject )(
        IStandardActivator * This,
        /* [in] */ REFCLSID rclsid,
        /* [in] */ DWORD dwClsCtx,
        /* [in] */ COSERVERINFO *pServerInfo,
        /* [in] */ REFIID riid,
        /* [iid_is][out] */ void **ppv);

    HRESULT ( STDMETHODCALLTYPE *StandardCreateInstance )(
        IStandardActivator * This,
        /* [in] */ REFCLSID Clsid,
        /* [in] */ IUnknown *punkOuter,
        /* [in] */ DWORD dwClsCtx,
        /* [in] */ COSERVERINFO *pServerInfo,
        /* [in] */ DWORD dwCount,
        /* [size_is][in] */ MULTI_QI *pResults);

    HRESULT ( STDMETHODCALLTYPE *StandardGetInstanceFromFile )(
        IStandardActivator * This,
        /* [in] */ COSERVERINFO *pServerInfo,
        /* [in] */ CLSID *pclsidOverride,
        /* [in] */ IUnknown *punkOuter,
        /* [in] */ DWORD dwClsCtx,
        /* [in] */ DWORD grfMode,
        /* [in] */ OLECHAR *pwszName,
        /* [in] */ DWORD dwCount,
        /* [size_is][in] */ MULTI_QI *pResults);

    HRESULT ( STDMETHODCALLTYPE *StandardGetInstanceFromIStorage )(
        IStandardActivator * This,
        /* [in] */ COSERVERINFO *pServerInfo,
        /* [in] */ CLSID *pclsidOverride,
        /* [in] */ IUnknown *punkOuter,
        /* [in] */ DWORD dwClsCtx,
        /* [in] */ IStorage *pstg,
        /* [in] */ DWORD dwCount,
        /* [size_is][in] */ MULTI_QI *pResults);

    HRESULT ( STDMETHODCALLTYPE *Reset )(
        IStandardActivator * This);

    END_INTERFACE
} IStandardActivatorVtbl;