Comparing PosDup and NoResDup Sections

Both PosDup and NoResDup sections end of doing the same thing if in an INF file for your modem. If a devnode for the device identified in the PosDup or NoResDup section is found in the devnode tree, the contents of that node are deleted and installation of your device is completed (the INF file is run to completion). In other words, use a PosDup or a NoResDup section in your INF to "get rid of the old device and install the new device."

If you use NoResDup, the operation previously described is done arbitrarily, no questions asked. On the other hand, if you use PosDup, the resource duplication previously described is done only if resources used by two devices are in conflict.

There is another major difference between NoResDup and PosDup. If you use NoResDup, simply finding a devnode for the device identified in the NoResDup section triggers the operation previously described. If you put a NoResDup section in your INF file, this check is always made. On the other hand, if you use PosDup, the operation previously described is triggered only if Configuration Manager detects a resource conflict.

The PosDup section is intended for the following scenario: When the user installs first Windows 95, a legacy internal modem in the machine and it is autodetected and its resources are entered in the comm port devnode (*PNP500); then enumeration comes along as second step in Windows 95 installation but this enumeration step causes no problems. Later the user gets a new internal modem and INF file, turns off the machine, installs the new internal modem, and restarts machine. Enumeration takes place and discovers the new modem. If there is a PosDup section in your the file that names *PNP500 then the enumerator will check *PNP500 for resource conflict and if it finds it deletes the contents of the old devnode before creating a new one for your modem. Be sure to test your INF using this scenario.

When Windows 95 is first installed, autodetection is done followed by enumeration. On subsequent restarts of Windows 95, only enumeration is done.