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.
Ao criar um programa de servidor para um aplicativo distribuído, você deve usar o arquivo de cabeçalho e o stub de servidor gerados pelo compilador MIDL. Para obter detalhes, consulte Desenvolvendo a interface. Inclua o arquivo de cabeçalho no arquivo de programa C do servidor. Compile o stub do servidor com os arquivos de origem C que compõem seu aplicativo. Vincule os arquivos de objeto resultantes com a biblioteca de importação. Este processo é ilustrado no diagrama a seguir.
Como você pode ver no exemplo na ilustração, um arquivo MIDL chamado MyApp.idl foi usado para definir a interface. O compilador MIDL usou MyApp.idl para produzir MyApp_s.c e MyApp.h. Ele também produz um arquivo de origem C para o stub do cliente, mas isso não é relevante para esta discussão em particular. O arquivo de origem C para o programa de servidor (neste caso, Mysrvr.c) deve incluir o arquivo Myapp.h. Ele também precisará incluir os arquivos Rpc.h e Rpcndr.h.
A aplicação para servidor foi desenvolvida em dois ficheiros, Mysrvr.c e Rprocs.c. O arquivo Mysrvr.c contém as funções necessárias para colocar o programa de servidor em funcionamento. Os procedimentos remotos que o programa de servidor oferece estão contidos no arquivo Rprocs.c.
Os arquivos Mysrvr.c e Rprocs.c foram compilados juntamente com Myapp_s.c para produzir arquivos de objeto. Os arquivos de objeto foram então vinculados à biblioteca runtime RPC e a quaisquer outras bibliotecas que necessitem. O resultado é um programa de servidor executável chamado Mysrvr.exe.
Se não compilar o seu arquivo IDL no modo de compatibilidade da Open Software Foundation (OSF) (/osf), o seu programa de servidor deve fornecer uma função para alocar memória e uma função para desalocá-la. Para o Windows 2000 e versões posteriores do Windows, o modo recomendado é /Oicf. Para obter detalhes, consulte Como a memória é alocada e desalocadae Ponteiros e alocação de memória.