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