Compartir a través de


defaultvtable (atributo)

El atributo [defaultvtable] define una interfaz como la interfaz Vtable predeterminada.

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

Parámetros

coclass-attribute-list

Otros atributos que se aplican a la clase . Se requieren los atributos [source] y [uuid].

coclass-name

Nombre de la clase.

coclass-interface-list

Una lista de interfaces para la clase .

Observaciones

Una interfaz Vtable predeterminada no puede ser una interfaz dispinterface; debe ser una interfaz dual o Vtable. Si la interfaz es una interfaz dual, los receptores pueden suponer que recibirán eventos a través de Vtable.

Una clase puede ser una interfaz de origen predeterminada y una interfaz de origen de Vtable predeterminada, como se muestra en el ejemplo. En este caso, un receptor de avisos debe usar IID_IDISPATCH para recibir eventos de envío y usar el identificador de interfaz para recibir eventos de Vtable.

Representación de typeflag

Presencia de IMPLTYPEFLAG_FDEFAULTVTABLE.

Ejemplos

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

Vea también

coclase

Sintaxis de archivo ODL

Ejemplo de archivo ODL

Generación de una biblioteca de tipos con MIDL

Fuente

uuid