Compartir vía


Atributos por uso

En este tema se enumeran los atributos según los elementos del lenguaje C++ a los que se aplican.

Si un atributo precede a un elemento que no está en el ámbito del atributo, el bloque de atributos se trata como un comentario.

Atributo Descripción
Atributos de módulo Se aplica al atributo de módulo.
Atributos de interfaz Se aplica a la palabra clave __interface C++.
Atributos de clase Se aplica a la palabra clave de C++.
Atributos de método Se aplica a los métodos de una clase, coclase o interfaz.
Atributos de parámetro Se aplica a los parámetros de un método en una clase o interfaz.
Atributos de miembros de datos Se aplica a los miembros de datos de una clase, coclase o interfaz.
Typedef, Enum, Union y Struct (atributos) Se aplica a las palabras clave de C++.
Atributos de matriz Se aplica a matrices o SAFEARRAYs.
Atributos independientes Funciona más como una línea de código, pero no funciona en una palabra clave de C++. Las instrucciones de atributo independientes requieren un punto y coma al final de la línea.
Atributos personalizados Permite al usuario ampliar los metadatos.

Atributos de módulo

El atributo siguiente solo se puede aplicar al atributo de módulo.

Atributo Descripción
helpstringdll Especifica el nombre del archivo DLL que se va a usar para realizar una búsqueda de cadenas del documento (localización).

Atributos de interfaz

Los atributos siguientes se aplican a la palabra clave C++ de la interfaz (o __interface).

Atributo Descripción
async_uuid Especifica el UUID que dirige al compilador MIDL para definir versiones sincrónicas y asincrónicas de una interfaz COM.
custom Le permite definir sus propios atributos.
dispinterface Coloca una interfaz en el archivo .idl como interfaz de envío.
dual Coloca una interfaz en el archivo .idl como interfaz doble.
export Hace que una estructura de datos se coloque en el archivo .idl.
helpcontext Especifica un identificador de contexto que permite al usuario ver información sobre este elemento en el archivo de Ayuda.
helpfile Establece el nombre del archivo de Ayuda para una biblioteca de tipos.
helpstring Especifica una cadena de caracteres que se usa para describir el elemento al que se aplica.
helpstringcontext Especifica el identificador de un tema de ayuda en un archivo .hlp o .chm.
helpstringdll Especifica el nombre del archivo DLL que se va a usar para realizar una búsqueda de cadenas del documento (localización).
hidden Indica que el elemento existe, pero que no se debe mostrar en un explorador orientado al usuario.
library_block Coloca una construcción dentro del bloque de biblioteca del archivo .idl.
local Cuando se usa en el encabezado de la interfaz, permite utilizar el compilador MIDL como generador de encabezados. Cuando se usa en una función individual, designa un procedimiento local para el que no se genera código auxiliar.
nonextensible Especifica que la implementación IDispatch incluye solo las propiedades y los métodos enumerados en la descripción de la interfaz y que no se pueden ampliar con miembros adicionales en tiempo de ejecución. Este atributo solo es válido en una interfaz doble.
odl Identifica una interfaz como interfaz de Lenguaje de descripción de objetos (ODL).
object Identifica una interfaz personalizada.
oleautomation Indica que una interfaz es compatible con Automation.
pointer_default Especifica el atributo de puntero predeterminado para todos los punteros, excepto los punteros de nivel superior que aparecen en las listas de parámetros.
ptr Designa un puntero como puntero completo.
restricted Designa qué miembros de la biblioteca no pueden ser llamados arbitrariamente.
uuid Proporciona el identificador único para la biblioteca

Debes observar estas reglas para definir una interfaz:

  • La convención de llamada predeterminada es __stdcall.

  • Si no proporcionas uno, se te proporciona un GUID.

  • No se permiten métodos sobrecargados.

Cuando no se especifica el atributo uuid y se usa el mismo nombre de interfaz en proyectos de atributos diferentes, se genera el mismo GUID.

Consulte también

Atributos de C++ para COM y .NET
Atributos por grupo
Referencia alfabética de los atributos