Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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