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:
- Tipos de ponteiros
- Ponteiros e alocação de memória
- Tipos de ponteiro padrão
- Herança de tipo de atributo de ponteiro