Compatibilidad con COM del compilador
Específicos de Microsoft
El compilador de Visual C++ puede leer directamente bibliotecas de tipos de modelo de objetos componentes (COM) y traducir el contenido a código fuente de C++ que se puede incluir en la compilación. Existen extensiones de lenguaje disponibles para facilitar la programación COM en el cliente.
Mediante el uso de la directiva de preprocesador #import, el compilador puede leer una biblioteca de tipos y convertirla en un archivo de encabezado de C++ que describe las interfaces COM como clases. Existe un conjunto de atributos #import disponible para el control por parte del usuario del contenido de los archivos de encabezado de biblioteca de tipos resultantes.
Puede utilizar el uuid de atributo extendido __declspec para asignar un identificador único global (GUID) a un objeto COM. Se puede usar la palabra clave __uuidof para extraer el GUID asociado a un objeto COM. Se puede usar otro atributo __declspec, property, para especificar los métodos get y set para un miembro de datos de un objeto COM.
Se proporciona un conjunto de funciones globales de compatibilidad con COM para admitir los tipos VARIANT y BSTR, implementar punteros inteligentes y encapsular el objeto de error iniciado por _com_raise_error: