Suporte COM do compilador
Específico da Microsoft
O compilador do Visual C++ pode ler bibliotecas de tipos COM (Component Object Model) diretamente e converter o conteúdo em um código-fonte do C++ que pode ser incluído na compilação. Há extensões de linguagem disponíveis para facilitar a programação COM do lado do cliente.
Usando a política de pré-processador #import, o compilador pode ler uma biblioteca de tipos e convertê-la em um arquivo de cabeçalho C++ que descreve as interfaces COM como classes. Um conjunto de atributos de #import está disponível para o usuário controlar o conteúdo referente aos arquivos resultantes de cabeçalho de biblioteca de tipos.
Você pode usar o atributo estendido uuid da palavra-chave __declspec para atribuir um GUID (identificador global exclusivo) a um objeto COM. A palavra-chave __uuidof pode ser usada para extrair o GUID associado a um objeto COM. Outro atributo de __declspec, property, pode ser usado para especificar os métodos get e set para um membro de dados de um objeto COM.
Um conjunto de classes e funções globais de suporte a COM é fornecido para dar suporte aos tipos VARIANT e BSTR, implementar ponteiros inteligentes e encapsular o objeto de erro lançado por _com_raise_error: