Partilhar via


Atributo de importação

A diretiva de importação especifica outro ficheiro IDL, ODL ou cabeçalho contendo definições que pretende referenciar a partir do seu ficheiro IDL principal.

import "filename" [[ , ... ]] ;

Parâmetros

filename

Especifica o nome do cabeçalho, IDL ou ficheiro ODL a importar.

Observações

Com a diretiva de importação , todas as instruções IDL no ficheiro importado, como typedefs, declarações constantes e definições de interface, tornam-se disponíveis para o importador . IDL.

O ficheiro importado é processado separadamente (o que significa que o pré-processador CPP é invocado de forma independente) do ficheiro IDL importado. Desta forma, as diretivas pré-processadoras, como a #define, não são transferidas de um cabeçalho importado ou ficheiro IDL para o ficheiro IDL importado.

Tal como o #include de macros do pré-processador da linguagem C, a diretiva de importação indica ao compilador para incluir tipos de dados definidos nos ficheiros IDL importados. Ao contrário da diretiva #include , a diretiva de importação ignora protótipos de procedimentos, uma vez que não são gerados stubs para nada no ficheiro importado.

Para informações específicas sobre como usar a importação para incluir ficheiros de cabeçalho num ficheiro IDL, consulte Importação de Ficheiros de Cabeçalho do Sistema.

O cabeçalho da língua C (. H) gerado para a interface não contém diretamente os tipos importados, mas sim gera uma diretiva #include para o ficheiro de cabeçalho correspondente à interface importada. Por exemplo, quando importas o BASE. IDL para o teu DERIVED. IDL, o ficheiro de cabeçalho gerado DERIVADO. H conterá a diretiva #include BASE.H.

Aplicam-se as seguintes regras:

  • A palavra-chave import é opcional e pode aparecer zero ou mais vezes no ficheiro IDL.
  • Cada palavra-chave de importação pode ser associada a mais do que um nome de ficheiro.
  • Separe vários nomes de ficheiros com vírgulas.
  • Deve incluir o nome do ficheiro entre aspas e terminar a declaração de importação com um ponto e vírgula (;).
  • Podes importar uma interface sem atributos para outro ficheiro IDL. No entanto, a interface deve conter apenas tipos de dados; não pode conter quaisquer procedimentos. Se sequer um procedimento estiver contido na interface importada, deve especificar um atributo local ou UUID .
  • A função de importação é idempotente — ou seja, importar uma interface mais do que uma vez não tem efeito adicional.

Observação

O comportamento da diretiva de importação é independente dos switches de modo compilador MIDL /ms_ext (o padrão), /osf e /app_config. No entanto, o modo compilador (/osf ou /ms_ext) pode afetar a decoração do apontador nos tipos importados. Para mais detalhes, veja Pointer-Attribute Herança de Tipo.

 

Exemplos

import "myoldodl.odl";  
import "unknwn.idl";
import "part1.idl", "part2.idl", "part3.idl"; 

Consulte também

/app_config

Ficheiro de Definição de Interface (IDL)

importlib

inclui

Importação de ficheiros de cabeçalho do sistema

Importação de Ficheiros e Bibliotecas de Tipos

/ms_ext

/osf