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

coclass

ODL-Dateisyntax

ODL-Dateibeispiel

Generieren einer Typbibliothek mit MIDL

Quelle

UUID