defaultvtable (attribut)

L’attribut [defaultvtable] définit une interface comme interface Vtable par défaut.

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

Paramètres

coclasse-attribute-list

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

coclasse-name

Nom de la classe.

coclasse-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, d’une table virtuelle 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 illustré dans l’exemple. Dans ce cas, un récepteur d’avis doit utiliser IID_IDISPATCH pour recevoir des événements de distribution 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 de fichier ODL

Exemple de fichier ODL

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

Source

uuid