defaultvtable 特性
[defaultvtable] 属性将接口定义为默认的 Vtable 接口。
[
coclass-attribute-list,
defaultvtable
]
coclass coclass-name
{
coclass-interface-list
}
parameters
-
coclass-attribute-list
-
coclass-name
-
类的名称。
-
coclass-interface-list
-
类的接口列表。
备注
默认 Vtable 接口不能是 dispinterface ,它必须是双接口、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;
}
}
另请参阅