Atributos direcionais aplicados ao parâmetro
Os atributos direcionais [ in] e [ out] determinam como o cliente e o servidor alocam e liberam memória. A tabela a seguir resume o efeito dos atributos direcionais na alocação de memória.
Atributo direcional | Memória no cliente | Memória no servidor |
---|---|---|
[ in] | O aplicativo cliente deve alocar antes da chamada. | Alocações de stub de servidor. |
[ out] | O stub do cliente aloca no retorno. | O stub do servidor aloca somente o ponteiro de nível superior; o aplicativo de servidor deve alocar todos os ponteiros inseridos. O servidor também aloca novos dados conforme necessário. |
[in, out] | O aplicativo cliente deve alocar dados iniciais transmitidos ao servidor; stub do cliente aloca dados adicionais. | O stub do servidor aloca os dados iniciais transmitidos do cliente; o aplicativo de servidor aloca novos dados conforme necessário. |
Em todos esses casos, o stub do cliente não libera memória. O aplicativo cliente deve liberar a memória antes de terminar. O stub do servidor libera memória quando a chamada de procedimento remoto retorna (sujeito ao atributo ACF [ allocate]).