Using Rank 0, Rank 1, and Rank 2 Modem ID Strings

As stated earlier, probably the most important change you can make to your modem INF file is the placement of your modem ID strings. In the earlier example, the modem ID of the hypothetical Zippy 144 PCMCIA Data Fax Modem was "PCMCIA\ZIP-DATAFAX_14.4-77CE" and the modem ID of the Zippy 288 External Data Fax Modem was "UNIMODEMAC9AF91E." These modem ID strings were used in the INF file as shown in the following:

[Manufacturer]
%Mfg% = Models
 
[Models]
%Modem1% = Modem1, PCMCIA\ZIP-DATAFAX_14.4-77CE
%Modem2% = Modem2, UNIMODEMAC9AF91E
 
[Strings]
ClassName = "Modem"
Mfg = "Zip"
Modem1 = "Zippy 144 PCMCIA Data Fax Modem"
Modem2 = "Zippy 288 External Data Fax Modem"
 

In this example INF, the modem ID strings are used as Rank 0 strings. However, there are Rank 1 and Rank 2 uses of modem ID strings and this topic describes how to use those. (For a definition of Rank 0, Rank 1, and Rank 2 modem ID strings, see Rank 0, Rank 1, and Rank 2 ID Differences.)

These are the types of modem ID strings that can be obtained from modems:

Modem ID String Type Example
Unimodem ID UNIMODEMAC9AF91E
Serenum PNP Hardware ID SERENUM\PPI1907
ISAPNP Hardware ID ISAPNP\SSC0001_DEV0002 (long form) or SSC0002 (short form)
ISAPNP Compatible ID *PNPB003
PCMCIA PNP modem ID PCMCIA\RIPICAB-RC144ACL-3BD0
Parallel port modem ID LPTENUM\MICROCOMTRAVELPORTE_1FF4
Platform modem ID BIOS\*PNPC003

Note that two or three types of modem ID strings can be obtained from a single modem model. For example, from an ISA Plug and Play modem, you might be able to obtain a unimodem ID, an ISAPNP hardware ID, and an ISAPNP compatible ID.