Atributos de função
Os atributos [callback] e [local] podem ser aplicados como atributos de função.
Um retorno de chamada é uma chamada remota do servidor para o cliente que é executada como parte de um thread conceitual de execução única. Um retorno de chamada sempre é emitido no contexto de uma chamada remota (ou retorno de chamada) e é executado pelo thread que emitiu a chamada remota original (ou retorno de chamada).
Geralmente, é desejável colocar uma declaração de procedimento local no arquivo IDL, pois esse é o local lógico para descrever interfaces para um pacote. O atributo [local] indica que uma declaração de procedimento não é realmente uma função remota, mas um procedimento local. O compilador MIDL não gera stubs para funções com o atributo [local] .
É importante observar que o uso de [retorno de chamada] não é recomendado na programação de vários threads. Como uma função de programação de thread único, ela não está equipada para dar suporte às demandas de segurança que um ambiente de vários threads fornece.