Einzelnen Beitrag anzeigen
Alt 21.08.2010, 13:24   #7
FranzK
Inventar
 
Registriert seit: 23.03.2000
Ort: Graz
Alter: 71
Beiträge: 3.567


Standard

Zitat:
Zitat von The_Lord_of_Midnight Beitrag anzeigen
In diesem Zusammenhang gehts darum, mit welcher Methode diese Abfrage erfolgt.
Wird da einfach eine Datei auf dem Filesystem gelesen, dann ist es sicher keine große Sache.
Aber das bezweifle ich stark.
Ich nehme an, daß diese Informationen über ein DLL abgefragt werden.
Derartige Dll-Abfragen sind aber sehr wohl tiefe Eingriffe ins System, denn genau das ist die Achilles-Ferse jedes Windows-Systems.
...
Nein. Dafür gibt es ein eigenes Windows-API. Man installiert im Programm einen Interrupt-Handler und teilt über das API dem Dateisystem mit, welche Messages auch an das eigene Programm gesendet werden sollen. So kann man z.B. definieren: "Teile mir jede Änderung im Verzeichnis xyz mit". Das Dateisystem generiert bei jeder Änderung eine Message. Windows schickt diese Message an alle Tasks weiter, die sich dafür angemeldet haben. Der Interrupthandler im Programm bekommt die Message und das Programm kann sofort oder auch später darauf reagieren...

Windows-APIs sind eine relativ konsistente Schnittstelle zum Betriebssystem und funktionieren über verschiedene Windows-Versionen hinaus. In der Regel können sie aber mehr, als offiziell definiert ist, was von Windows selbst verwendet wird und eigentlich nur von Windows verwendet werden sollte. Gewitzte Programmierer können diese Zusatzfunktionalität aber natürlich auch benutzen, und tun dies gelegentlich auch. Manche Dinge können so wesentlich einfacher und schneller realisiert werden. Allerdings können sich diese Grauzonenbereiche bei der nächsten gröberen Revision des Betriebssystems dann auch tatsächlich ändern, was lästiges Nacharbeiten erfordert. Und man kann sich nicht einmal aufregen...

____________________________________
Ciao
FranzK ist offline   Mit Zitat antworten