Usando a Camada Intermediária de RPC
As rotinas de RPC de camada intermediária são usadas para a maioria dos aplicativos. A camada intermediária às vezes é negligenciada na programação devido à sua simplicidade e falta de flexibilidade. Neste nível, RPC não permite especificações de tempo limite, escolha de transporte ou controle de processo em caso de erros.
Tampouco a camada intermediária de RPC suporta vários tipos de autenticação de chamadas. O programador muitas vezes precisa desses tipos de controle.
As chamadas de procedimento remoto são feitas com as rotinas do sistema registerrpc, callrpce svc_run , que pertencem à camada intermediária de RPC. As rotinas registerrpc e callrpc são as mais fundamentais. A rotina registerrpc obtém um número de identificação de procedimento exclusivo de todo o sistema. A rotina callrpc executa a chamada de procedimento remoto.
Cada procedimento RPC é exclusivamente definido por um número do programa, número da versão e número de procedimento. O número do programa especifica um grupo de procedimentos remotos relacionados, cada um deles tem um número de procedimento diferente. Cada programa também tem um número de versão. Por isso, quando uma alteração menor, como adicionar um novo procedimento, é feita a um serviço remoto, um novo número de programa não precisa ser atribuído.
A interface RPC também trata de estruturas de dados arbitrárias (Passando Tipos de Dados Arbitrários), independentemente das diferentes ordens de bytes ou de estrutura de layout de estrutura em várias estações de trabalho. Para obter mais informações, consulte o Usando a Camada Intermediária de RPC Exemplo.