Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As palavras-chave MIDL incluem, importe importlib permitem reutilizar o código fazendo referência a arquivos de cabeçalho, IDL e ODL (object definition language) existentes e bibliotecas de tipos compilados.
A diretiva ACF include permite especificar em um arquivo ACF um ou mais arquivos de cabeçalho em linguagem C a serem incluídos no código de stub gerado por MIDL. O arquivo gerado terá uma linha com uma diretiva #include C-preprocessor com o arquivo de cabeçalho indicado. Utilize esta incluir diretiva para importar ficheiros de cabeçalho que são específicos para um determinado ambiente operacional e que não contêm informações necessárias para a interface entre cliente e servidor. Não use incluir para os ficheiros de cabeçalho contendo tipos de dados que se pretende disponibilizar para o ficheiro IDL; em vez disso, use a diretiva importação.
Exemplo 1
[
auto_handle
]
interface X86PC
{
include "gendefs.h", "protos.h", "myfile.h";
//interface typdefs and function declarations here
}
A diretiva de importação do IDL é o método padrão para trazer definições de tipo e interface de outros arquivos IDL (ou ODL) e arquivos de cabeçalho para o seu arquivo IDL. Todas as instruções IDL no arquivo importado, como typedefs, const declarações e definições de interface ficam disponíveis para o arquivo IDL de importação.
Como a diretiva de pré-processador de linguagem C #include, a diretiva import informa o compilador de que deve incluir os tipos de dados que foram definidos nos arquivos IDL importados. Ao contrário da diretiva #include, a diretiva import ignora protótipos de procedimento, uma vez que não são gerados stubs para nada no arquivo importado. Como o pré-processador é invocado separadamente para o arquivo importado, as diretivas do pré-processador (como **) não são transferidas para o arquivo IDL de importação.
Para obter informações adicionais sobre como usar importar para incluir arquivos de cabeçalho do sistema em um arquivo IDL, consulte Importando arquivos de cabeçalho do sistema.
Exemplo 2
[
uuid(. . .), object
]
interface IKnown : IUnknown
{
import "base.idl", "unknwn.idl", "helper.idl";
//remainder of interface definition
}
A diretiva ODL importlib permite fazer referência a uma biblioteca de tipos compilados em seu arquivo IDL ou ODL. A diretiva importlib deve estar dentro de uma instruçãobibliotecae deve preceder outras descrições de tipo na biblioteca. A biblioteca importada, bem como a biblioteca gerada, deve estar disponível para o aplicativo em tempo de execução.
Exemplo 3
library NewBrowser
{
importlib("stdole32.tlb");
importlib("legacy.tlb");
//remainder of library definition
};
Você também pode usar a diretiva #include do pré-processador C para incluir cabeçalhos e outros arquivos em seu arquivo IDL ou ODL. Esteja ciente, no entanto, de que esta diretiva incluirá literalmente todo o conteúdo do arquivo especificado. Se um arquivo de cabeçalho contiver protótipos que você não precisa ou deseja nos arquivos de stub gerados por MIDL, ou se ele contiver definições de tipo não remotas, você deve usar a diretiva MIDL import em vez da diretiva #include.
Tópicos relacionados