Nenn mich pingelig, aber es stimmt nicht ganz.
PFNFCIFREE und PFNFCIALLOC sind die Typendeklarationen, wenn du also ein "P" vor den Namen setzt, ist es formal wieder richtig. Das Makro erstellt offenbar die echte Funktionsdeklaration und Prototypen der Implementation. Folglich entspräche folgender Code in Delphi:
Code:
#define FNFCIFREE(fn) void __cdecl fn(void *memory)
FNFCIFREE(FunktionsName)
{
// Mach was
}
Delphi-Quellcode:
function FunktionsName(cb: ULONG): Pointer; cdecl;
begin
// Mach was
end;
... dieses Makro ist aber vermutlich für den Anwender der
DLL irrelevant, es sei denn es handelt sich um Callbacks. In letzterem Fall mußt du es aber ohnehin händisch machen, weil Delphi ja keinen C-Präprozessor hat