defaultvtable (attribut)

L’attribut [ defaultvtable ] définit une interface en tant qu’interface vtable par défaut.

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

Paramètres

coclass-attribute-List

Autres attributs qui s’appliquent à la classe. Les [ ] attributs source et [ UUID ] sont requis.

nom de la coclasse

Nom de la classe.

coclass-interface-List

Liste des interfaces pour la classe.

Notes

Une interface vtable par défaut ne peut pas être une dispinterface ; il doit s’agir d’une interface double ou vtable ou d’une interface. Si l’interface est une interface double, les récepteurs peuvent supposer qu’ils recevront des événements via vtable.

Une classe peut être à la fois une interface source par défaut et une interface source vtable par défaut, comme indiqué dans l’exemple. Dans ce cas, un récepteur de notification doit utiliser _ l’IID IDISPATCH pour recevoir les événements de dispatch et utiliser l’identificateur d’interface pour recevoir des événements vtable.

Représentation TYPEFLAG

Présence de IMPLTYPEFLAG _ FDEFAULTVTABLE.

Exemples

[
    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;
    }
}

Voir aussi

coclasse

Syntaxe du fichier ODL

Exemple de fichier ODL

Génération d’une bibliothèque de types avec MIDL

code

uuid