Compartilhar via


Por que objetos proxy são necessários

Com objetos acessíveis, quando um cliente define uma função de gancho no contexto, a DLL na qual a função de gancho do cliente é implementada é carregada no espaço de endereço do servidor. Nesse caso, quando o cliente chama AccessibleObjectFromEvent de dentro da função hook, o ponteiro de interface que é retornado aponta diretamente para o código no espaço de endereço do servidor. Quando o cliente chama uma propriedade de interface usando esse ponteiro, a biblioteca COM (Component Object Model) não está envolvida com marshaling ou unmarshaling e não pode detectar se um objeto é destruído. Portanto, o servidor deve detectar essa situação e retornar um código de erro ao cliente.