Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Em COM, muitos, se não a maioria, métodos de interface são chamados por código escrito por uma organização de programação e implementados por código escrito por outra. Muitos dos parâmetros e valores de retorno destas funções são de tipos que podem ser transferidos por valor. Às vezes, no entanto, é necessário passar estruturas de dados para as quais este não é o caso, por isso é necessário que tanto o chamador quanto o chamado tenham uma política de alocação e desalocação compatível. COM define uma convenção universal para alocação de memória, porque é mais razoável do que definir regras caso a caso e para que a implementação de chamada de procedimento remoto COM possa gerenciar corretamente a memória.
Os métodos de uma interface COM sempre fornecem gerenciamento de memória de ponteiros para a interface chamando as funções AddRef e Release encontradas na interface IUnknown, da qual todas as outras interfaces COM derivam. (Consulte Regras para gerenciar contagens de referência para obter mais informações.)
Esta seção descreve apenas como alocar memória para parâmetros que não são passados por valor — não ponteiros para interfaces, mas coisas mais mundanas como strings, ponteiros para estruturas e assim por diante.
Para obter mais informações, consulte os seguintes tópicos: