回调函数

回调函数是托管应用程序中可帮助非托管 DLL 函数完成任务的代码。 对回调函数的调用将从托管应用程序中,通过一个 DLL 函数,间接地传递给托管实现。 在用平台调用调用的多种 DLL 函数中,有些函数要求正确地运行托管代码中的回调函数。

要从托管代码中调用大多数 DLL 函数,可创建该函数的托管定义,然后调用该函数。 此过程比较直接。

要使用需要回调函数的 DLL 函数,则会有一些附加的步骤。 首先,必须在文档中查阅该函数,确定该函数是否需要回调。 接着,必须在托管应用程序中创建回调函数。 最后,调用该 DLL 函数,并将指向回调函数的指针当作参数进行传递。 下图总结了这些步骤。

回调函数和实现

平台调用回调

回调函数非常适合在重复执行任务的情况下使用。 另一个常见用途是与枚举函数(如 Win32 API 中的 EnumFontFamiliesEnumPrintersEnumWindows)一起使用。 EnumWindows 函数枚举计算机上的所有现有窗口,并调用回调函数以针对每个窗口执行任务。 有关说明和示例,请参见如何:实现回调函数

请参见

任务

如何:实现回调函数

其他资源

调用 DLL 函数