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 do cliente e do 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 de e de Alocação de Memória
- tipos de ponteiro padrão
- Pointer-Attribute de herança de tipo