Partilhar via


Usando o MIDL

Todas as interfaces para programas que usam RPC devem ser definidas em Microsoft Interface Definition Language (MIDL) e compiladas com o compilador MIDL. Os tópicos a seguir apresentam uma breve visão geral da criação e compilação de uma interface MIDL:

Para obter uma discussão detalhada desses tópicos, consulte Os arquivos IDL e ACF.

Definindo uma interface com MIDL

Os arquivos MIDL são arquivos de texto que você pode criar e editar com um editor de texto. Se você gerar um UUID para sua interface, normalmente armazenará a saída em um arquivo MIDL de modelo. Para obter mais informações sobre UUIDs, consulte Gerando UUIDs de interface.

Todas as interfaces no MIDL seguem o mesmo formato. Eles começam com um cabeçalho que contém uma lista de atributos de interface e o nome da interface. Os atributos estão entre colchetes. O cabeçalho da interface é seguido por seu corpo, que é colocado entre colchetes. Uma interface simples é mostrada no exemplo a seguir:

[
  uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
  version(1.0)
]
interface MyInterface
{
  const unsigned short INT_ARRAY_LEN = 100;

  void MyRemoteProc( 
      [in] int param1,
      [out] int outArray[INT_ARRAY_LEN]
  );
}

Alguns dos atributos que normalmente aparecem em uma definição de interface MIDL são o UUID e o número da versão da interface. O corpo da definição de interface deve conter as declarações de procedimento de todos os procedimentos remotos na interface. Ele também pode conter as declarações de tipos de dados e constantes exigidas pela interface.

Todos os parâmetros nas declarações de procedimento remoto devem ser declarados como [em], [fora], ou [em, fora]. Essas declarações especificam que o programa cliente passa dados para um procedimento remoto, obtém dados de um procedimento remoto ou ambos. Para obter informações mais detalhadas sobre declarações de parâmetros de interface, consulte The IDL Interface Body.

Compilando um arquivo MIDL

O compilador MIDL é uma ferramenta de linha de comando que é instalada automaticamente com o Platform Software Development Kit (SDK). Invoque-o em uma janela de comando digitando o comando midl, seguido pelo nome de um arquivo MIDL, na linha de comando. Certifique-se de que o diretório que contém o compilador MIDL está no seu caminho. O exemplo a seguir ilustra seu uso:

midl MyApp.idl

Observe que você não precisa incluir a extensão se o nome do arquivo tiver a extensão .idl. Você também pode usar o compilador MIDL opções de linha de comando inserindo-os entre o comando midl e o nome do arquivo. Isso é demonstrado no exemplo a seguir:

midl /acf MyApp.acf MyApp.idl

Neste exemplo, o compilador MIDL é executado usando o arquivo MyApp.idl como o arquivo de entrada. A opção de linha de comando /acf instrui o compilador a usar um arquivo de configuração de aplicativo (ACF) para entrada também. Os arquivos de configuração do aplicativo são discutidos mais detalhadamente em Os arquivos IDL e ACF.

Para obter informações mais detalhadas sobre como usar o compilador MIDL, consulte o Microsoft Interface Definition Language (MIDL), que contém informações sobre os seguintes tópicos: