回調函式是 Managed 應用程式內的程式碼,可協助 Unmanaged DLL 函式完成工作。 呼叫回調函式會透過 DLL 函式間接從受管理的應用程式傳遞,然後傳回受管理的實作。 使用平台調用的許多 DLL 函式,需要託管碼中的回呼函式才能正常執行。
若要從 Managed 程式代碼呼叫大部分的 DLL 函式,您可以建立函式的 Managed 定義,然後呼叫它。 此程序很簡單。
使用需要回調函數的 DLL 函式有一些額外的步驟。 首先,您必須查看函式的檔,判斷函式是否需要回呼。 接下來,您必須在受控應用程式中建立回調函式。 最後,您呼叫 DLL 函式,將指標傳遞至回呼函式做為自變數。
下圖摘要說明回呼函式和實作步驟:
回呼函式很適合用於重複執行工作的情況。 另一個常見用途是列舉函式,例如 EnumFontFamilies、 EnumPrinters,以及 EnumWindows Windows API 中。 這個 EnumWindows 函式會列舉你電腦上所有現有的視窗,並呼叫回調函式在每個視窗執行任務。 如需指示和範例,請參閱 如何:實作回調函式。