部分 Win32 API 函數要求傳遞函數指標作為參數,Windows 稍後調用該函數(通常特定事件發生時)。此技術稱「回調函數」。範例:視窗程序、列印過程回調(後台列印程式更新狀態/中止列印)、EnumWindows() 枚舉所有頂層視窗並對每個視窗調用回調函數傳遞視窗控制代碼。
在 Java 中必須使用 com.ms.dll 套件的 Callback 類別。繼承 Callback 並覆寫 callback() 方法,僅接受 int 參數,返回 int 或 void。方法簽名與實作取決於使用此回調的 Windows API 函數。創建 Callback 衍生類實例,作為函數指標傳遞給 API 函數,J/Direct 自動完成剩餘工作。
範例調用 EnumWindows(),EnumWindowsProc 類別 callback() 獲取各頂層視窗控制代碼、取得標題文字、列印至控制台。main() 中調用 User32.EnumWindows() 傳入回調實例,sleep() 允許視窗程序在 main() 退出前完成。