"Driver Protection List for Windows XP and Windows .NET Server"Windows XP Home and Pro versions along with the .NET Server family of Microsoft have a continuously active feature of the Driver Protection List on machine. They stop the unnecessary drivers from loading to the syatem which are known for system instability. The list is always active in the memory all the time, during the upgrade of the platform and runtime. It is something which is discouraged to be disabled. I am not sure but Microsoft says, it is based on the same way the Compatibility of applications is build in Windows XP Editions.
The Driver Protection module of XP is called whenever the request for the driver comes to the system, the CreateObject(PDRIVER_OBJECT) call. The system checks the driver protection list, an encrypted database within the "Mysterious" operating system, and then allows to load the same. The Driver Protection List, the same said databse is updated by consultation with the vendors and Microsoft. This database is supposed to be updated frequently by the Dynamic and Critical System Updates, a feature of XP. (Another reason to keep the windows update service running). Waiting to see how the list looks like and must be available on http://www.microsoft.com/hwdev/ in future for download.
This driver protection is last one to solve the errant drivers, can be considered as the low level kernel feature. Microsoft says, this feature will stop the drivers from loading, but the will nto be able to stop the applications from loading, this will give us the error I guess as the "Windows Protection Fault".
Every time, the end user gets the error for the driver, the error reporting service picks up the data and sends to Microsoft which is used to update the Protection List Database. Most of these drivers, usually available in the Windows Compatibility Database. The error or warning whenever the applications requiring the blocked drivers are loaded/installed, can be from Windows XP Advisor/Setup/Runtime. The matching of driver and the database is based on the sys file of the same, and totally independent of the Hardware ID and any other files used for driver or application. This can be the sys file name, linking date of the file, product version and few more may be, but always more than one criteria is matched before blocking the driver.