Ponteiros e RPC

É muito eficiente usar ponteiros como parâmetros de função C. O ponteiro custa apenas alguns bytes e pode ser usado para acessar uma grande quantidade de memória. No entanto, em um aplicativo distribuído, os procedimentos de cliente e servidor residem em diferentes espaços de endereço— eles podem estar em computadores diferentes. Portanto, o cliente e o servidor geralmente não têm acesso ao mesmo espaço de memória.

Quando um dos parâmetros do procedimento remoto é um ponteiro para um objeto , o cliente deve transmitir uma cópia desse objeto e seu ponteiro para o servidor. Se o procedimento remoto modificar o objeto por meio de seu ponteiro, o servidor retornará o ponteiro e sua cópia modificada.

MIDL oferece atributos de ponteiro para minimizar a quantidade de sobrecarga necessária e o tamanho do aplicativo. Esta seção discute a finalidade e os usos de atributos de ponteiro MIDL. Ele também apresenta informações sobre o tratamento de ponteiro em aplicativos RPC. Ele é dividido nos seguintes tópicos: