beim installieren eines Hook wird in etwa nichts anderes gemacht als die
DLL in andere Prozesse zu laden. Wenn du jetzt beim installieren des Hook etwas in die
DLL übergibst ist es aber nur in dieser
DLL-Instanz und nicht in den
DLL-Instanzen welche von den anderen Prozessen geladen wird! Dementsprechend musst du die Daten irgendwo ablegen wo alle
DLL-Instanzen ran kommen. Und wären im einfachsten fall MemoryMappedFiles, Pipes oder wenn es gar nicht anders geht eine normale Datei.
Es werden also nicht (wie oftmals angenommen) alle Dinge durch die Hook-Procedure deiner einen geladenen
DLL geschleust sondern die
DLL wird in mehrere Prozesse injeziert.
(ich weiß das es windowsintern etwas anders läuft, aber so ist es glaub ich am verständlichsten)