2010-06-22 14 views
5

Vorrei chiamare la mia app dal mio autista quando si verifica un evento interessante nel kernel di Windows. Devo essere in grado di passare almeno 4 byte di dati alla modalità utente. Come ottenere questo? Questi eventi potrebbero accadere abbastanza, ma non troppo spesso, quindi non voglio creare un sistema di code e utilizzare IOCTL.Come chiamare usermode dal kernel di Windows?

Stavo pensando a qualcosa come il driver viene caricato, l'app in modalità utente registra il suo callback usando IOCTL e il kernel continua a chiamare quel callback quando gli eventi accadono e infine il client in modalità utente annulla la registrazione del callback e non vengono inviati più dati all'utente modalità. È possibile?

Sono nuovo nella programmazione del kernel, quindi dopo una giornata di googling ho deciso di chiedere qui. Ho notato che non c'è molta discussione sul kernel e sui driver. E anche documenti meno corretti.

risposta

4

Microsoft ha pubblicato un documento su questo (in formato MS Word, ovviamente), intitolato User-Mode Interactions: Guidelines for Kernel-Mode Drivers.

Grazie a google, eccolo in HTML.

+0

Le notifiche Plug and Play sono il tipo di cosa che sto cercando. Finché non c'è nulla di male a mandare costantemente fuori quegli eventi. Con quelli posso inviare il mio messaggio e registrare la mia app di usermode come ricevitore. –

Problemi correlati