Книга: Writing Windows WDM Device Drivers

Installation Details

Installation Details

You may be interested to know precisely what happens as a result of installing the Wdm1 driver and one Wdm1 device.

INF Files

Windows 98

Windows 98 copies the INF file to the Windows INFOTHER directory. The INF file is renamed, after the manufacturer name, to "WDM BookWDM1.INF".

Windows 98 remembers that the INF file has been installed in the registry. The HKLM SoftwareMicrosoftWindowsCurrentVersionSetupSetupXINFOFM Name key has a value C:W98INFOTHERWDM BookWDM1.INF set to "WDM BookWDM1.INF". This entry is not deleted if you remove the Wdm1 device.

Windows 98 also keeps a note of the most recently used install locations in the registry.

Windows 2000

Windows 2000 copies the INF file and renames it to the next available OEM filename in the Windows INF directory. For example, WDM1.INF might be copied and renamed as C:WINNTINFOEM1.INF.

Windows 2000 also remembers install locations in the registry.

Registry

The device interface for Wdm1 devices has a registry key at HKLMSystemCurrentControlSet ControlDeviceClasses{C0CF0640-5F6E-11d2-B677-00C0DFE4C1F3) along with a series of subkeys for each device and their associated symbolic link(s). This key includes the WDM1_GUID {C0CF0640…}.

Windows 98

The HKLMEnumRootUnknown000 key is the entry for the Wdm1 device. The digits 0000 will increment for each Unknown device. The HKLMSystemCurrentControlSetServicesClassUnknown000 key is the entry for the Wdm1 driver. This key is passed to DriverEntry in the RegistryPath string.

These entries are removed if you remove the Wdm1 device.

The ClassGUID value in the Wdm1 device key is {4D36E97E…} for "Unknown" type devices. This has a registry entry at HKLMSystemCurrentControlSetServicesClass{4D36E97E…}.

Windows 2000

The HKLMSystemCurrentControlSetControlClass{4D36E97E…}000 key is the entry for the Wdm1 device. {4D36E97E…} is the GUID for "Unknown" type devices.

The driver service entry key is HKLMSystemCurrentControlSetServicesWdm1. This key is passed to DriverEntry in the RegistryPath string. The Enum subkey has values named 0 onwards such as RootUNKNOWN000 for each device instance.

Windows 2000 Objects

The winobj program lets you see what Windows 2000 objects are present for the driver and the device.

The driver has an entry driverwdm1.

There is a symbolic link object ??Root#UNKNOWN#0000#{C0CF0640…}. If you double-click this, you will see that this links to one of the listed devices (e.g., to device04059). Symbolic links are covered in the next chapter.

Оглавление книги


Генерация: 2.411. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз