Desenvolvendo o cliente
O desenvolvimento de um programa cliente RPC é semelhante ao desenvolvimento do programa de servidor. Para obter informações sobre como desenvolver um programa de servidor RPC, consulte Desenvolvendo o servidor.
Assim como no desenvolvimento do servidor, o programa cliente deve incluir o arquivo de cabeçalho gerado pelo compilador MIDL do arquivo .idl. O compilador MIDL também gera um arquivo de origem C que contém o stub do cliente. Você deve compilar esse arquivo de origem C e vinculá-lo ao programa cliente. (Além disso, o compilador MIDL gera um arquivo de origem C que contém o stub do servidor, mas isso não é relevante para essa discussão.)
Além de compilar e vincular o stub do cliente com seus arquivos de programa, você deve vincular a biblioteca de importação (e quaisquer outras bibliotecas de que seu programa cliente precisa) ao programa cliente. O processo de criação de um programa cliente RPC é ilustrado no diagrama a seguir.
O exemplo na ilustração anterior demonstra a criação de um programa cliente RPC chamado MyClnt.exe. A primeira etapa é definir a interface no arquivo MyApp.idl. O compilador MIDL usa MyApp.idl para gerar o arquivo MyApp_c.c, que contém o stub do cliente. Ele também gera o arquivo MyApp.h, que o programa cliente deve incluir. O programa cliente também precisará incluir os arquivos RPC.h e RPCNDR.h.
O programa cliente em si é criado no arquivo MyClnt.c. Em um projeto real, o programa cliente normalmente seria composto por vários arquivos de origem C. Todos eles precisariam ser compilados e vinculados juntos. No entanto, este exemplo usa apenas um arquivo para simplificar.
Os arquivos MyClnt.c e MyApp_c.c são compilados e vinculados junto com a biblioteca de tempo de execução RPC e quaisquer outras bibliotecas necessárias para o programa cliente. O resultado é um programa cliente executável chamado MyClnt.exe.
Se você não compilar o arquivo IDL no modo de compatibilidade osF (/osf), seu programa cliente deverá fornecer uma função para alocar memória e uma função para desalocá-lo. Para o Windows 2000 e versões posteriores, o modo recomendado é /Oicf. Para obter detalhes, consulte Como a memória é alocada e desalocada e Ponteiros e Alocação de Memória.