Partilhar 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 para uma função de retorno de chamada passam indiretamente de um aplicativo gerenciado, por meio de uma função DLL e voltam para a implementação gerenciada. Algumas das muitas funções DLL chamadas com invocação de plataforma requerem uma função de retorno de chamada em código gerenciado para serem executadas corretamente.

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

Usar uma função DLL que requer uma função de retorno de chamada tem algumas etapas adicionais. Primeiro, você deve determinar se a função requer um retorno de chamada examinando a documentação da função. Em seguida, você precisa criar a função de retorno de chamada em seu aplicativo gerenciado. Finalmente, você chama a função 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:

Diagram showing the platform invoke callback process.

As funções de retorno de chamada 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 através de todas as janelas existentes no seu computador, chamando a função de retorno de chamada 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