defaultvtable-Attribut
Das [defaultvtable] -Attribut definiert eine Schnittstelle als Vtable-Standardschnittstelle.
[
coclass-attribute-list,
defaultvtable
]
coclass coclass-name
{
coclass-interface-list
}
Parameter
-
coclass-attribute-list
-
Andere Attribute, die für die -Klasse gelten. Die Attribute [source] und [uuid] sind erforderlich.
-
coclass-name
-
Der Name der Klasse.
-
coclass-interface-list
-
Eine Liste der Schnittstellen für die -Klasse.
Bemerkungen
Eine Vtable-Standardschnittstelle darf keine Dispinterface sein, sie muss eine Dual- oder Vtable- oder -Schnittstelle sein. Wenn es sich bei der Schnittstelle um eine duale Schnittstelle handelt, können Senken davon ausgehen, dass sie Ereignisse über Vtable empfangen.
Eine Klasse kann sowohl eine Standardquellschnittstelle als auch eine Vtable-Standardquellschnittstelle sein, wie im Beispiel gezeigt. In diesem Fall sollte eine Empfehlungssenke IID_IDISPATCH verwenden, um Dispatchereignisse zu empfangen und den Schnittstellenbezeichner zum Empfangen von Vtable-Ereignissen zu verwenden.
Typeflag-Darstellung
Das Vorhandensein von IMPLTYPEFLAG_FDEFAULTVTABLE.
Beispiele
[
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;
}
}
Weitere Informationen