Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As ferramentas RPC fazem com que ele apareça para os usuários como se um cliente chamasse diretamente um procedimento localizado em um programa de servidor remoto. Cada cliente e servidor têm seus próprios espaços de endereço; ou seja, cada um tem seu próprio recurso de memória alocado aos dados usados pelo procedimento. A figura a seguir ilustra a arquitetura RPC.
Como a ilustração mostra, o aplicativo cliente chama um procedimento stub local em vez do código real que implementa o procedimento. Os stubs são compilados e vinculados ao aplicativo cliente. Em vez de conter o código real que implementa o procedimento remoto, o código stub do cliente:
- Recupera os parâmetros necessários do espaço de endereço do cliente.
- Converte os parâmetros conforme necessário em um formato NDR padrão para transmissão pela rede.
- Chama funções na biblioteca de tempo de execução do cliente RPC para enviar a solicitação e seus parâmetros para o servidor.
O servidor executa as etapas a seguir para chamar o procedimento remoto.
- As funções de biblioteca de tempo de execução RPC do servidor aceitam a solicitação e chamam o procedimento stub do servidor.
- O stub do servidor recupera os parâmetros do buffer de rede e os converte do formato de transmissão de rede para o formato de que o servidor precisa.
- O stub do servidor chama o procedimento real no servidor.
Em seguida, o procedimento remoto é executado, possivelmente gerando parâmetros de saída e um valor retornado. Quando o procedimento remoto é concluído, uma sequência semelhante de etapas retorna os dados para o cliente.
- O procedimento remoto retorna seus dados para o stub do servidor.
- O stub do servidor converte parâmetros de saída para o formato necessário para transmissão pela rede e os retorna para as funções de biblioteca de tempo de execução RPC.
- As funções de biblioteca de tempo de execução RPC do servidor transmitem os dados na rede para o computador cliente.
O cliente conclui o processo aceitando os dados pela rede e retornando-os para a função de chamada.
- A biblioteca de tempo de execução RPC do cliente recebe os valores retornados de procedimento remoto e os retorna para o stub do cliente.
- O stub do cliente converte os dados de sua NDR para o formato usado pelo computador cliente. O stub grava dados na memória do cliente e retorna o resultado para o programa de chamada no cliente.
- O procedimento de chamada continua como se o procedimento tivesse sido chamado no mesmo computador.
As bibliotecas em tempo de execução são fornecidas em duas partes: uma biblioteca de importação, que está vinculada ao aplicativo e à biblioteca de tempo de execução RPC, que é implementada como uma DLL (biblioteca de vínculo dinâmico).
O aplicativo de servidor contém chamadas para as funções de biblioteca em tempo de execução do servidor que registram a interface do servidor e permitem que o servidor aceite chamadas de procedimento remoto. O aplicativo de servidor também contém os procedimentos remotos específicos do aplicativo que são chamados pelos aplicativos cliente.