Compartilhar via


Funções de retorno de chamada

Uma função de retorno de chamada é um código dentro de um aplicativo gerenciado que ajuda uma função DLL não gerenciada a concluir uma tarefa. As chamadas a uma função de retorno de chamada passam indiretamente de um aplicativo gerenciado, por meio de uma função de DLL e novamente para a implementação gerenciada. Algumas das muitas funções de DLL chamadas com invocação de plataforma exigem uma função de retorno de chamada no código gerenciado para serem executadas corretamente.

Para chamar a maioria das funções de DLL do código gerenciado, crie uma definição gerenciada da função e, em seguida, chame-a. O processo é simples.

O uso de uma função de DLL que exige uma função de retorno de chamada apresenta algumas etapas adicionais. Primeiro, você deve determinar se a função requer um callback consultando a documentação da função. Em seguida, você precisa criar a função de retorno de chamada no aplicativo gerenciado. Por fim, chame a função de DLL, passando um ponteiro para a função de retorno de chamada como um argumento.

A ilustração a seguir resume a função de retorno de chamada e as etapas de implementação:

Diagrama mostrando o processo de retorno de chamada da invocação de plataforma.

Funções de callback são ideais para uso em situações em que uma tarefa é executada repetidamente. Outro uso comum é com funções de enumeração, como EnumFontFamilies, EnumPrinters e EnumWindows na API do Windows. A função EnumWindows enumera todas as janelas existentes no seu computador, chamando a função de callback para executar uma tarefa em cada janela. Para obter instruções e um exemplo, consulte Como implementar funções de retorno de chamada.

Consulte também