defaultvtable 特性

[defaultvtable] 属性将接口定义为默认 Vtable 接口。

[
    coclass-attribute-list, 
    defaultvtable
]
coclass coclass-name
{
    coclass-interface-list
}

参数

coclass-attribute-list

应用于类的其他属性。 需要 [source][uuid] 属性。

coclass-name

类的名称。

coclass-interface-list

类的接口列表。

注解

默认 Vtable 接口不能是一个反接口,它必须是双接口或 Vtable 或接口。 如果接口是双接口,接收器可以假定它们将通过 Vtable 接收事件。

类可以是默认源接口和默认 Vtable 源接口,如示例中所示。 在这种情况下,建议接收器应使用IID_IDISPATCH接收调度事件,并使用接口标识符接收 Vtable 事件。

Typeflag 表示形式

存在IMPLTYPEFLAG_FDEFAULTVTABLE。

示例

[
    dual,
    uuid(12345678-1234-1234-1234-123456789ABC),
    restricted
]
interface IForm: IDispatch
{
    [propget] HRESULT Backcolor([out, retval] long *Value);
    [propput] HRESULT Backcolor([in] long Value);
    [propget] HRESULT Name([out, retval] BSTR *Value);
    [propput] HRESULT Name([in] BSTR Value);}

[
    dual,
    uuid(1e196b20-1f3c-1069-996b-00dd010fe676),
    restricted
]
interface IFormEvents: IDispatch
{
    HRESULT Click();
    HRESULT Resize();}

    [
        uuid(1e123456-1f3c-1069-996b-123456789ABC)
    ]
    coclass Form
    {
        [default] interface IForm;
        [default, defaultvtable, source] interface IFormEvents;
    }
}

另请参阅

coclass

ODL 文件语法

ODL 文件示例

使用 MIDL 生成类型库

uuid