Recht unpraktisch ist außerdem, dass nicht zwei Programme die
DLL nutzen können, weil du lediglich eine MMF mit dem Namen 'FASP_HookRecMemBlock' hast, deren Daten überschrieben werden, wenn ein zweites Programm SetHook aufruft.
Zur Lösung könntest du einfach deine MMF von 12 Byte auf 4096 Byte (Page-Größe) vergrößern. Das kostet keine System-Ressourcen und du könntest dann eine Liste von Callbacks erstellen, die in der Hook-Prozedur aufgerufen werden. Du musst dann natürlich aufpassen, dass das ganze threadsicher ist.