There are many reasons pci.sys is not KMDF driver
(a) it is not possible to write it as a KMDF driver, no matter how badly
you want to
(b) it is a complex driver, and the investment of time and effort to
covert it to KMDF would not be justifiable
(c) it is a complex driver, but very mature, and an attempt to rewrite in
KMDF would introduce instabilities that might take years to eliminate
(d) the model of behavior used in pci.sys is quite different from the
model of behavior of KMDF, and even a bug-free driver would break {a few,
some, many, a lot, all} existing PCI function drivers
(e) there are a lot of pre-WDM PCI drivers out there, and They Would Not
Play Well with a KMDF bus driver (a somewhat more specialized version of
(d), for different reasons)
(f) any or all of the above, but upgrading PnP and Power to be correct,
given the knowledge learned in doing KMDF, is simpler than a total rewrite
(g) The PnP/Power for the WDM version is still as broken as it ever was,
but nobody is going to notice, so leave well enough alone.
Any or all of the above? Any others anyone can think of?
And going back to my “simple absolute rules”: there may be exceptions,
but newbies are more likely to get into trouble by thinking they are the
exception, so give them simple rules to start off with. Rules that tell
them to avoid the jungle. After they are experienced, and equipped with
mine detectors, and you can trust that they know how to use them, you can
let them fall into the quicksand bogs which have mines on the bottom.
Otherwise, your attrition rate is simply too high to tolerate.
joe
I consider me simple rules to be along the lines of telling a child “lying
is always wrong”, which works well until, as an adult, you get the “Honey,
do these pants make my butt look big?” question. Then you use a different
decision matrix to analyze cost/benefit.
(Quote)
There is never a reason to use WDM to write a bus driver again
(/quote)
“Almost” never a reason (consider PCI.sys the exception).
For any reason that might be contemplated by the OP, I even agree with
your absolute statement.
Peter
OSR
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer