Newsgroup: it.comp.programmare.win32
Titolo: scrivere Driver,si può?

Salve a tutti,
io ho una scheda TV comprata circa 8 anni fa. Per divertimento mi
piacerebbe scrivere un driver per questa scheda sotto Win32. Quali
testi devo consultare? come faccio ad avere la specifica del
controllore?
ringrazio tutti in anticipo..bye bye

 ha scritto nel messaggio 
news:cb2f62aa.05030...@posting.google.com...

Per scrivere driver č necessaria una base di conoscenza piuttosto vasta.
Ti posso consigliare il libro
    "Programming the Microsoft Driver Model - Second edition"
    di Walter Oney
    Microsoft Press
con allegato un CD con degli esempi.
Una volta che hai le conoscenze, non č poi cosě difficile.
Il problema č che acquisire leconoscenze necessarie č davvero molto 
impegnativo.
Devi poi procurarti gli strumenti fondamentali, compilatore, SDK, DDK.
So che esistono altre soluzioni, tipo Wizard per la scrittura di driver, ma 
non ne so nulla.
Ciao.

> Per scrivere driver è necessaria una base di conoscenza piuttosto vasta.
che ti tipo di consocenze? Architettura del sistema?Quali testi puoi
propormi?
ma come faccio ad avere la specifica del controllore? perchè immagino
che mi serva quella per scrivere il driver

 che mi serva quella per scrivere il driver
I drivers funzionano in modo molto diverso dai programmi tradizionali, ad 
esempio possono accedere solo alle funzioni fornite a livello Kernel, al 
posto del main hanno una DriverEntry dove devono essere assegnati i 
puntatori a tutte le funzioni che verranno poi chiamate dal sistema 
operativo, eccetera.
Le conoscenze di base necessarie direi che sono: struttura del sistema 
operativo (dal punto di vista dei drivers), struttura e principi di 
funzionamento dei driver e concetti relativi (IRP, ad esempio), 
problematiche di installazione di un driver (per niente banali, anche se con 
la soluzione 'leggera' possono essere scavalcate).
Ci sono poi varie tipologie di driver, inoltre occorre avere il DDK giusto 
per il SO, ad esempio non puoi generare un driver per Windows NT con il DDK 
per Windows 98.
Non so suggeriti altri testi di riferimento,  su Internet dovresti trovare 
molto. Io direi di iniziare cercando "Microsoft Windows Driver Development 
Kit Introduction", ti dovrebbe indirizzare al sito Microsoft, accessibile 
liberamente, che fornisce una guida sullo sviluppo dei driver. Il sito offre 
tutte le informazioni che ti servorno per orientarti.
Lo standard rigoroso č il WDM (Windows Driver Model), ma ci sono soluzioni 
piů 'leggere': cerca "Simplifying Windows Driver Development".
Per la specifica del controllore non so cosa dirti.
Ciao.

 controllore?
Hai uno strano modo di divertirti, tu...
Comunque: se programmi per windows 2000 o WinXP ti puoi scaricare il DDK 
per Windows 2000 (win2kddk.exe, sono circa 220MB: la microsoft non 
permette più di scaricarlo gratis, ma è ancora disponibile in giro per 
la rete) che crea driver compatibili anche con XP. Ah, devi avere Visual 
C++.
Poi come ti hanno gia detto devi studiarti il WDM (Windows Driver Model) 
e vedere quali chiamate di sistema puoi usare e quali no.
Per la scheda, il primo passo è controllare sul sito del produttore se 
ci sono documenti sull'hardware della scheda stessa (è raro, ma provare 
non costa niente): se non trovi niente devi controllare il chip più 
grosso che c'è montato sulla scheda (visto il periodo di fabbricazione 
che riporti, potrebbe essere il Bt878 o simili) e cercare documentazione 
su internet per quel particolare chip. NON sarà una ricerca breve :)
E poi... preparati a studiarti anche un MARE di roba sull'architettura 
dei PC :)
Potrebbe esserti utile vedere come sono fatti i driver corrispondenti di 
Linux, di cui è disponibile nel kernel il codice sorgente: perlomeno 
ricaverai qualche informazione sulla struttura generale e sulle 
operazioni da compiere... anche se ovviamente le chiamate al kernel 
Linux le dovrai tradurre in chiamate al kernel Windows.
Buon lavoro ciccio ^_^