SMPDATA.INF is a sample INF file for a data modem that is included in the MDK. A listing of SMPDATA.INF is shown below. All the sections in SMPDATA.INF are shown, but many of the items in the AddReg-type sections are not shown in order to simplify the listing. Other topics in this document will show how you can modify each section of SMPDATA.INF so it can be used to install a different data modem. The sections in SMPDATA.INF form the backbone of any modem INF file. The name and purpose of all the sections in SMPDATA.INF are summarized in the following table.
SMPDATA.INF Section | Purpose and Comments |
[Version] Section | Standard header for all INF files. Identifies operating system the INF file can be used with, class of device being installed, and organization providing the INF file. The values of %ClassName% and %Mfg% are defined in the [Strings] section. An important new requirement is that a ClassGUID entry be added to the [Version] section that gives the class GUID value for modems, which is "{4D36E96D-E325-11CE-BFC1-08002BE10318}". |
[Manufacturer] and [Microsoft] Sections | These sections identify the modem manufacturer, give the friendly name for the modem, identify the install-type section that contains the script for installing each device, and give the modem IDs of each device. The values of %Modem1% and %Modem2% are defined in the [Strings] section. "PCMCIA\RIPICAB-RC144ACL-3BD0" is the modem ID string for the Microsoft 144 PCMCIA Data Fax Modem model and "UNIMODEME9DF4BA4" is the modem ID string for the Microsoft 288 External Data Fax Modem model. |
[Strings] Section | Defines strings that are used by the Modems control panel and the Install New Modem wizard. Putting all the displayable strings in one section enables easy translation of the INF file for use in international markets. |
[Modem1] Section | Lists the sections of the INF file that define registry entries to be added when installing the Microsoft 144 PCMCIA Data Fax Modem. The sections will be used in left-to-right order to write entries into the registry. The name of this section can be anything, but in this sample INF file it must be defined in the [Microsoft] section. |
[Modem2] Section | Lists the sections of the INF file that define registry entries to be added when installing the Microsoft 288 External Data Fax Modem model. The sections will be used in left-to-right order to write entries into the registry. The name of this section can be anything, but in this sample INF file it must be defined in the [Microsoft] section. |
[All] Section | Contains the registry entry additions that are made for all the modem models that can be installed by this INF. This includes the Microsoft 144 PCMCIA Data Fax Modem and the Microsoft 288 External Data Fax Modem. The name of this section can be anything; the name [All] is used to indicate that the registry additions in this section are made for all the modems installed by this INF. |
[EXTERNAL] Section | Contains registry entry additions that must be made for all external-type modems, such as the example Microsoft 288 External Data Fax Modem. |
[PCMCIA] Section | Contains registry entry additions that must be made for all PCMCIA-type modems, such as the example Microsoft 144 PCMCIA Data Fax Modem. |
[Modem1.AddReg] | Contains registry entry additions that are made only when the Microsoft 144 PCMCIA Data Fax Modem is installed. The name of this section can be anything; the name [Modem1.AddReg] is used to indicate that the registry additions in this section are made only for the modem referred to as Modem1 in the [Microsoft] section of the INF. |
[Modem2.AddReg] | Contains registry entry additions that are made only when the Microsoft 288 External Data Fax Modem is installed. The name of this section can be anything; the name [Modem2.AddReg] is used to indicate that the registry additions in this section are made only for the modem referred to as Modem2 in the [Microsoft] section of the INF. |
[MfgAddReg] Section | Contains the registry entry additions that are made for all the modem models made by the manufacturer named in this INF. This includes the Microsoft 144 PCMCIA Data Fax Modem and the Microsoft 288 External Data Fax Modem. The name of this section can be anything; the name [MfgAddReg] is used to indicate that the registry additions in this section are made for the manufacturer named in this INF. If this INF named more than one manufacturer, for example Intel and Microsoft, then there would be (for example) an [Intel.MfgAddReg] section and a [Microsoft.MfgAddReg] section. |
The primary characteristics of the sample INF file SMPDATA.INF are:
Following is a listing of SMPDATA.INF. Other topics in this document show how to adapt each section for a different manufacturer, the Zip Corporation, and the modem models it needs to install on Windows 95 computers.
[Version] ; See INF documentation for additional information on this section. ; This section should never change Signature="$CHICAGO$" Class=%ClassName% ;new requirement for modem class of devices ClassGUID={4D36E96D-E325-11CE-BFC1-08002BE10318} Provider=%Mfg% [Manufacturer] ; See INF documentation for additional information on this section. ; This is the list of manufacturers that will appear in the Install New ; Modem wizard's list of manufacturers. %Mfg% = Microsoft [Microsoft] ; See INF documentation for additional information on this section. ; This is the list of modems that will appear in the Install New Modem ; wizard's list of modems for this manufacturer. %Modem1% = Modem1, PCMCIA\RIPICAB-RC144ACL-3BD0 %Modem2% = Modem2, UNIMODEME9DF4BA4 [Strings] ; See INF documentation for additional information on this section. ; This section lists strings that are used by the Modems control panel ; and the Install New Modem wizard. ; For example, Modem1 appears as "Microsoft 144 PCMCIA Data Fax Modem". ClassName = "Modem" Mfg = "Microsoft" Modem1 = "Microsoft 144 PCMCIA Data Fax Modem" Modem2 = "Microsoft 288 External Data Fax Modem" [Modem1] ; See INF documentation for additional information on this section. ; This section indicates the actions to be done when installing this ; modem. Usually, modems only need to have registry entries ; added (AddReg= line) ; The AddReg line points to sections of the INF file that list registry ; entries to be added when installing this modem. For example, the ; line below instructs the installer to add the registry entries ; listed in the following sections of this INF file: ; [All], [MfgAddReg], [Modem1.AddReg], [PCMCIA] ; Note that it is not necessary to break up the registry additions ; into different sections in the INF. However, breaking out common ; entries into sections can help to reduce the size of the INF, if ; multiple modems are installed from the same INF and have common ; registry entries AddReg=All, MfgAddReg, Modem1.AddReg, PCMCIA [Modem2] AddReg=All, MfgAddReg, Modem2.AddReg, EXTERNAL [All] ; This is a section of registry additions. Note that All is ; referenced in the [Modem1] AddReg= line and the [Modem2] AddReg= ; line above, so this entry will be put into the registry when ; either modem is installed. ; See the Modem Registry Entries document for more information on ; specific registry entry keys. HKR,,FriendlyDriver,,Unimodem.vxd HKR,,DevLoader,,*vcomm HKR,,Enumerator,,serwave.vxd HKR,,ConfigDialog,,modemui.dll HKR,,EnumPropPages,,"modemui.dll,EnumPropPages" HKR,,PortSubClass,1,02 HKR, Init, 1,, "AT<cr>" HKR, Responses, "<cr><lf>OK<cr><lf>", 1, 00, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>ERROR<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 [EXTERNAL] ; More registry entries HKR,, DeviceType, 1, 01 [PCMCIA] ; More registry entries HKR,,PortDriver,,Serial.vxd HKR,,Contention,,*vcd HKR,, DeviceType, 1, 03 [Modem1.AddReg] ; More registry entries HKR,, Properties, 1, 80,01,00,00, ff,00,00,00, ff,00,00,00, 07,00,00,00, 0f,00,00,00, f7,03,00,00, 00,c2,01,00, 40,38,00,00 [Modem2.AddReg] ; More registry entries HKR,, Properties, 1, 80,01,00,00, ff,00,00,00, ff,00,00,00, 07,00,00,00, 0f,00,00,00, f7,03,00,00, 00,c2,01,00, 80,70,00,00 [MfgAddReg] ; More registry entries HKR, Init, 2,, "AT &F E0 V1 &D2 &C1 W2 S95=47<cr>" HKR,, InactivityScale, 1, 0a,00,00,00 HKR, Monitor, 1,, "ATS0=0<cr>" HKR, Monitor, 2,, "None" HKR, Hangup, 1,, "ATH<cr>" HKR, Answer, 1,, "ATA<cr>" HKR,, Reset,, "AT&F<cr>" HKR, Settings, Prefix,, "AT" . . . HKR, Settings, InactivityTimeout,, "S30=<#>" . . . HKR, Responses, "<cr><lf>CARRIER 28800/VFC<cr><lf>", 1, 01, 00, 80,70,00,00, 00,00,00,00