Leider nicht, da der Verweis auf die Funktion fehlt.
Ich verstehe es so:
SciFnDirect pSciMsg = (SciFnDirect)SendMessage(hSciWnd, SCI_GETDIRECTFUNCTION, 0, 0);
SCI_GETDIRECTFUNCTION gibt den Pointer auf die Scintilla-interne Sendmessage-Funktion zurück: pSciMsg
sptr_t pSciWndData = (sptr_t)SendMessage(hSciWnd, SCI_GETDIRECTPOINTER, 0, 0);
SCI_GETDIRECTPOINTER gibt den Pointer auf das ScintillaFensterHandle zurück: pSciWndData
sptr_t CallScintilla(unsigned int iMessage, uptr_t wParam, sptr_t lParam);{
return pSciMsg(pSciWndData, iMessage, wParam, lParam);
}
Die interne Funktion wird mittels Pointer aufgerufen und der Pointer für das Handle übergeben (plus Msg/Parameter).
Eigentlich sollte AutoIt mit Funktionspointern klarkommen, wurde ja vor nicht allzu langer Zeit integriert - aber der Handle-Pointer scheint das Problem zu sein, wenn ich das richtig interpretiere.