Appendix A
Coping with Cross-Platform Incompatibilities
I closed many of the chapters in this book with a series of MicrosoftWindows 98/Me compatibility notes. Microsoft originally planned that you d be able to ship a single driver binary file for all WDM platforms, including Windows 98, Windows 98 Second Edition, Windows Me, Windows 2000, Windows XP, and later systems, but the sad fact is that so lofty a goal has proven elusive in practice. Not surprisingly, systems continued to evolve long after Windows 98 was up and running on millions of PCs, and Microsoft has added numerous kernel-mode service functions that the earlier systems don t support. If a WDM driver calls one of these functions, the system simply won t load the driver because it can t resolve the reference to the symbol. In this appendix, I ll discuss methods of coping with the incompatibilities so as to use a single binary anyway.