Compartilhar via


atributo de importação

A diretiva de importação especifica outro arquivo IDL, ODL ou cabeçalho que contém definições que você deseja referenciar do arquivo IDL main.

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

Parâmetros

filename

Especifica o nome do cabeçalho, IDL ou arquivo ODL a ser importado.

Comentários

Com a diretiva de importação , todas as instruções IDL no arquivo importado, como typedefs, declarações constantes e definições de interface ficam disponíveis para a importação. Arquivo IDL.

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

Assim como a macro do pré-processador de linguagem C #include, a diretiva de importação informa ao compilador para incluir tipos de dados que foram definidos nos arquivos IDL importados. Ao contrário da diretiva #include , a diretiva de importação ignora protótipos de procedimento, já que nenhum stub é gerado para nada no arquivo importado.

Para obter informações específicas sobre como usar a importação para incluir arquivos de cabeçalho em um arquivo IDL, consulte Importando arquivos de cabeçalho do sistema.

O cabeçalho da linguagem C (. H) o arquivo gerado para a interface não contém diretamente os tipos importados, mas gera uma diretiva #include para o arquivo de cabeçalho correspondente à interface importada. Por exemplo, quando você importa BASE. IDL em seu DERIVADO. IDL, o arquivo de cabeçalho gerado DERIVADO. H conterá a diretiva #include BASE.H.

As seguintes regras se aplicam:

  • O palavra-chave de importação é opcional e pode aparecer zero ou mais vezes no arquivo IDL.
  • Cada palavra-chave de importação pode ser associada a mais de um nome de arquivo.
  • Separe vários nomes de arquivo com vírgulas.
  • Você deve colocar o nome do arquivo entre aspas e encerrar a instrução de importação com um ponto e vírgula (;).
  • Você pode importar uma interface que não tem atributos para outro arquivo IDL. No entanto, a interface deve conter apenas tipos de dados; ele não pode conter nenhum procedimento. Se até mesmo um procedimento estiver contido na interface importada, você deverá especificar um atributo local ou UUID .
  • A função de importação é idempotentâ â€" ou seja, importar uma interface mais de uma vez não tem nenhum efeito adicional.

Observação

O comportamento da diretiva de importação é independente das opções do modo do compilador MIDL /ms_ext (o padrão), /osf e /app_config. No entanto, o modo do compilador (/osf ou /ms_ext) pode afetar a decoração de atributo de ponteiro em tipos importados. Para obter detalhes, consulte Herança de tipo de atributo de ponteiro.

 

Exemplos

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

Confira também

/app_config

Arquivo IDL (Definição de Interface)

importlib

Incluem

Importar arquivos de cabeçalho do sistema

Importando arquivos e bibliotecas de tipos

/ms_ext

/Osf