OEMSETNT.INF Driver File Contents (3c562c.zip)

[Identification]
OptionType = NetAdapter

[PlatformsSupported]
ISA
EISA
MCA

[Options]
ELPC3X

[OptionsTextENG]
ELPC3X = "3Com EtherLink III LAN+336 Modem PC Card (3C562)"

[AllFileConstants]
GenericInfVersion = " V1.60"
UtilityInf = "UTILITY.INF"
ParamInf = "NCPARAM.INF"
subroutineinf = "SUBROUTN.INF"
SoftwareType = "driver"
Exit_Code = 0
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
Manufacturer = "3Com"

[FileConstants-ELPC3X]
GenericAdapterName = "3Com EtherLink III LAN+336 Modem PC Card"
GenericDriverName = "3Com EtherLink III LAN+336 Modem Driver"
GenericSysName = "elpc3x.sys"

ProductMajorVersion = "3"
ProductMinorVersion = "51"
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)

ProductSoftwareName = "ELPC3X"
ProductSoftwareDesc = "3Com EtherLink III LAN+336 Modem Driver"
ProductSoftwareImage = "\SystemRoot\System32\drivers\"$(GenericSysName)
NetRuleSoftwareType = "elpc3xSys ndisDriver elpc3xDriver"
NetRuleSoftwareUse = $(SoftwareType)
NetRuleSoftwareBindForm = """elpc3xSys"" yes no container"
NetRuleSoftwareClass = {"elpc3xDriver basic"}
NetRuleSoftwareBindable = {"elpc3xDriver elpc3xAdapter non exclusive 100"}

ProductHardwareName = "ELPC3X"
ProductHardwareDesc = "3Com EtherLink III LAN+336 Modem PC Card"
NetRuleHardwareType = "elpc3x elpc3xAdapter"
NetRuleHardwareBindForm = " yes yes container"
NetRuleHardwareClass = {"elpc3xAdapter basic"}

ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"

[GeneralConstants]
from = ""
to = ""
ExitCodeOk = 0
ExitCodeCancel = 1
ExitCodeFatal = 2
KeyNull = ""
MAXIMUM_ALLOWED = 33554432
RegistryErrorIndex = NO_ERROR
KeyProduct = ""
KeyParameters = ""
TRUE = 1
FALSE = 0
NoTitle = 0
ExitState = "Active"
OldVersionExisted = $(FALSE)
DriverPath = $(!STF_NTPATH)\drivers

[date]
Now = {} ? $(!LIBHANDLE) GetSystemDate

[Identify]
read-syms Identification
set Status = STATUS_SUCCESSFUL
set Identifier = $(OptionType)
set Media = #("Source Media Descriptions", 1, 1)
Return $(Status) $(Identifier) $(Media)

[ReturnOptions]
set Status = STATUS_FAILED
set OptionList = {}
set OptionTextList = {}

set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
ifstr(i) $($1) == ""
goto returnoptions
endif
set PlatformList = ^(PlatformsSupported, 1)
Ifcontains(i) $($1) in $(PlatformList)
goto returnoptions
else
set Status = STATUS_NOTSUPPORTED
goto finish_ReturnOptions
endif
else
set Status = STATUS_NOLANGUAGE
goto finish_ReturnOptions
endif

returnoptions = +
set OptionList = ^(Options, 1)
set OptionTextList = ^(OptionsText$($0), 1)
set Status = STATUS_SUCCESSFUL

finish_ReturnOptions = +
Return $(Status) $(OptionList) $(OptionTextList)

[InstallOption]
set Status = STATUS_FAILED
set Option = $($1)
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
Set !DebugOutputControl = 1

set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) NOT-IN $(LanguageList)
Return STATUS_NOLANGUAGE
endif

set-subst LF = "\n"
read-syms GeneralConstants
read-syms AllFileConstants
read-syms FileConstants"-"$(Option)
read-syms DialogConstants$(!STF_LANGUAGE)"-"$(Option)
ifstr(i) $(!NTN_Origination) == "NCPA"
set Continue = $(OK)
endif
read-syms AllFileConstants$(!STF_LANGUAGE)
read-syms FileConstants$(!STF_LANGUAGE)"-"$(Option)
detect date
set-title  $(FunctionTitle)
set to = Begin
set from = Begin

set CommonStatus = STATUS_SUCCESSFUL
EndWait

Begin = +
Set ActivateDetection = FALSE
Ifstr(i) $(!NTN_InstallMode) == deinstall
set StartLabel = removeadapter
else-Ifstr(i) $(!NTN_InstallMode) == Update
set StartLabel = UpgradeSoftware
else-Ifstr(i) $(!NTN_InstallMode) == bind
set StartLabel = bindingadapter
else-Ifstr(i) $(!NTN_InstallMode) == configure
set StartLabel = configureadapter
Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
set from = end
set to = end
goto nonfatalinfo
endif
else
set StartLabel = installadapter
set OEM_ABANDON_OPTIONS = {}
set OEM_ABANDON_SOFTWARE = FALSE
set OEM_ABANDON_ON = TRUE
endif

ifstr(i) $(Option) == ELPC3X
set IOBaseAddrValue = *($(IOBaseAddrList), 17)
set MemoryAddrValue = *($(MemoryAddrList), 9)
set IRQValue = *($(IRQList), 1)
set MediaTypeValue = *($(MediaTypeList), 1)
set ModemIOBaseAddressValue = *($(ModemIOBaseAddressList), 2)
set ModemInterruptNumberValue = *($(IRQList), 1)
set ComPortValue = *($(ComPortList), 2)
set LANOnlyValue = *($(LANOnlyList), 1)
set Static1Label = "Note: Modem and Network use same interrupt"
endif
                                                                                      
Set from = $(fatal)
Set to = $(fatal)
Goto $(StartLabel)

installadapter = +
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) != $(KeyNull)
CloseRegKey $(KeyProduct)
ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
$(ProductVersion)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
goto end
else
Shell $(UtilityInf), CardExistedDlg
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr(i) $($R1) != "OK"
goto end
endif
set OldVersionExisted = $(TRUE)
endif
endif

Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Goto ShellCodeError
Else-Ifstr(i) $($R0) == STATUS_FAILED
Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
Goto fatal
Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
Goto successful
Endif

Set SrcDir = $($R1)
install "Install-Dll"
goto adaptersetup

configureadapter = +
Ifstr $(KeyProduct) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
Ifstr $(KeyProduct) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
goto fatalregistry
Endif
Endif

Shell $(UtilityInf) FindService, $(KeyProduct)
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Goto ShellCodeError
Endif
Ifstr(i) $($R0) != NO_ERROR
Goto fatalregistry
endif

Set KeyParameters = $($R2)

CloseRegKey $($R1)
Ifstr $(KeyParameters) == $(KeyNull)
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
goto fatalregistry
endif
set OldVersionExisted = $(TRUE)
set ValueName = ""
set ValueData = ""
set ValueStr  = ""
set ValueList = {}

EnumRegValue $(KeyParameters) ValueList
ifstr(i) $(Option) == ELPC3X
ForListDo $(ValueList)
set ValueItem = $($)
set ValueName = *($(ValueItem),1)
set ValueData = *($(ValueItem),4)
ifstr(i) $(ValueName) == "IoBaseAddress"        
set IOBaseAddrIndex = $(ValueData)
else-ifstr(i) $(ValueName) == "PCCARDAttributeMemoryAddress"
set MemoryAddrIndex = $(ValueData)
else-ifstr(i) $(ValueName) == "InterruptNumber"
set IRQValueIndex = $(ValueData)
else-ifstr(i) $(ValueName) == "ModemInterruptNumber"
set ModemInterruptNumberIndex = $(ValueData)
else-ifstr(i) $(ValueName) == "ComPort"
set ComPortIndex = $(ValueData)
else-ifstr(i) $(ValueName) == "Transceiver"
set MediaTypeIndex = $(ValueData)
else-ifstr(i) $(ValueName) == "LANOnly"
set LANOnlyIndex = $(ValueData)
endif
EndForListDo

set IRQValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex)))
set ModemInterruptNumberValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex)))

set MemoryAddrValue = *($(MemoryAddrList), ~($(MemoryAddrValues),$(MemoryAddrIndex)))
ifstr(i) $(MemoryAddrValue) == ""
set MemoryAddrValue = *($(MemoryAddrValues), 2)
endif

set IOBaseAddrValue = *($(IOBaseAddrList), ~($(IOBaseAddrValues),$(IOBaseAddrIndex)))
ifstr(i) $(IOBaseAddrValue) == ""
set IOBaseAddrValue = *($(IOBaseAddrList), 1)     
endif

set ModemIOBaseAddressValue = *($(ModemIOBaseAddressList), ~($(ComPortValues),$(ComPortIndex)))
ifstr(i) $(ModemIOBaseAddressValue) == ""
set ModemIOBaseAddressValue = *($(ModemIOBaseAddressValues), 2)
endif
    
set ComPortValue = *($(ComPortList), ~($(ComPortValues),$(ComPortIndex)))
ifstr(i) $(ComPortValue) == ""
set ComPortValue = *($(ComPortValues), 2)
endif

set MediaTypeValue = *($(MediaTypeList), ~($(MediaTypeValues),$(MediaTypeIndex)))
ifstr(i) $(MediaTypeValue) == ""
set MediaTypeValue = *($(MediaTypeValues), 1)
endif

set LANOnlyValue = *($(LANOnlyList), ~($(LANOnlyValues),$(LANOnlyIndex)))
ifstr(i) $(LANOnlyValue) == ""
set LANOnlyValue = *($(LANOnlyValues), 1)
endif

endif

adaptersetup = +
Set from = adapteroptions

adapteroptions = +
LoadLibrary "disk 1" $(DialogDllName) hLib
read-syms FileDependentDlg$(!STF_LANGUAGE)"-"$(Option)

ui start "InputDlg"  $(hLib)
set ExitButton = $(ButtonPressed)

FreeLibrary $(hLib)
ifstr(i) $(DLGEVENT) == "CONTINUE"
ifstr(i) $(Option) == ELPC3X
set IOBaseAddrIndex = $(Combo1Out)
set MemoryAddrIndex = $(Combo2Out)
set IRQValueIndex = $(Combo3Out)       
set MediaTypeIndex = $(Combo4Out)         
set ModemInterruptNumberIndex = $(Combo6Out)
set ComPortIndex = $(Combo7Out)
set LANOnlyIndex = $(Combo8Out)
set ExitButton = $(ButtonPressed)
endif
ui pop 1
else-ifstr(i) $(DLGEVENT) == "EXIT"
set CommonStatus = STATUS_USERCANCEL
ui pop 1
goto end
else
set CommonStatus = STATUS_USERCANCEL
ui pop 1
goto end
endif

skipoptions =+
ifint $(OldVersionExisted) == $(TRUE)
ifstr(i) $(!NTN_InstallMode) == configure
goto writeparameters
endif
endif
StartWait

ifint $(OldVersionExisted) == $(FALSE)
ifstr(i) $(!NTN_InstallMode) == "install"
Ifstr(i) $(DoCopy) == "YES"
Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
Goto ShellCodeError
Else-Ifstr(i) $($R0) == STATUS_FAILED
Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
Goto fatal
Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
Goto successful
Endif
Set SrcDir = $($R1)
Endif
install "Install-Option"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
goto fatal
endif
endif

Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName), +
$(ProductSoftwareName), +
$(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
$(ProductSoftwareImage), "kernel", "NDIS", {}, "",+
$(NetEventDLL)

Set OEM_ABANDON_SOFTWARE = TRUE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

set RegistryErrorIndex = $($R0)
set KeyProduct = $($R1)
Set SoftNetRulesKey = $($R2)
CloseRegKey $($R3)
CloseRegKey $($R4)
CloseRegKey $($R5)

Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
goto fatalregistry
endif

set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
{MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
{MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
{Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDesc)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}

Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)

ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
goto fatalregistry
endif

set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
{use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
{bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
{bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}

Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

set RegistryErrorIndex = $($R0)
CloseRegKey $(KeyProduct)
CloseRegKey $(SoftNetRulesKey)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
goto fatalregistry
endif
endif

Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
ifint $($R4) != -1
Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
endif

ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

set RegistryErrorIndex = $($R0)
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
CloseRegKey $($R1)
CloseRegKey $($R2)
CloseRegKey $($R3)
goto fatalregistry
endif

set KeyParameters = $($R3)
set KeyAdapterRules = $($R2)
set AdapterNumber = $($R4)

set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
{Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDesc)},+
{ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}

Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

CloseRegKey $($R1)

set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)

set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
{bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}

Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

set RegistryErrorIndex = $($R0)

Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
EndWait
CloseRegKey $(KeyParameters)
CloseRegKey $(KeyAdapterRules)
goto fatalregistry
endif

CloseRegKey $(KeyAdapterRules)
goto writeparameters

writeparameters = +
Shell $(UtilityInf), GetBusTypeNum
set BusTypeNum = $($R1)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

ifstr(i) $(Option) == ELPC3X
set MemoryAddrValue = *($(MemoryAddrValues),  ~($(MemoryAddrList), $(MemoryAddrIndex)))    
set-add CommonMemoryAddrValue = $(MemoryAddrValue), 8192   
set IRQValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex)))
set IOBaseAddrValue = *($(IOBaseAddrValues), ~($(IOBaseAddrList), $(IOBaseAddrIndex)))         
set MediaTypeValue = *($(MediaTypeValues), ~($(MediaTypeList), $(MediaTypeIndex)))
set ComPortValue = *($(ComPortValues), ~($(ComPortList), $(ComPortIndex)))
set ModemInterruptNumberValue = *($(IRQValues), ~($(IRQList), $(IRQValueIndex)))
set ModemIOBaseAddressValue = *($(ModemIOBaseAddressValues), ~($(ComPortList), $(ComPortIndex)))
set LANOnlyValue = *($(LANOnlyValues), ~($(LANOnlyList), $(LANOnlyIndex)))
set NewValueList = {{IoBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)},+            
{IoLength, $(NoTitle),$(!REG_VT_DWORD), 16},+
{IoBaseAddress_1, $(NoTitle),$(!REG_VT_DWORD),$(ModemIOBaseAddressValue)},+            
{IoLength_1, $(NoTitle),$(!REG_VT_DWORD), 8},+
{PCCARDAttributeMemoryAddress, $(NoTitle),$(!REG_VT_DWORD),$(MemoryAddrValue)},+
{PCCARDAttributeMemorySize, $(NoTitle),$(!REG_VT_DWORD),8192},+
{PCCARDAttributeMemoryOffset, $(NoTitle),$(!REG_VT_DWORD),0},+
{MemoryMappedBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(CommonMemoryAddrValue)},+
{MemoryMappedSize, $(NoTitle),$(!REG_VT_DWORD),4096},+
{PCCARDMemoryWindowOffset, $(NoTitle),$(!REG_VT_DWORD),0},+
{Transceiver, $(NoTitle),$(!REG_VT_DWORD),$(MediaTypeValue)},+
{ModemIOBaseAddress, $(NoTitle),$(!REG_VT_DWORD),$(ModemIOBaseAddressValue)},+
{ModemInterruptNumber, $(NoTitle),$(!REG_VT_DWORD),$(ModemInterruptNumberValue)},+
{InterruptNumber, $(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
{ComPort, $(NoTitle),$(!REG_VT_DWORD),$(ComPortValue)},+
{LANOnly, $(NoTitle),$(!REG_VT_DWORD),$(LANOnlyValue)},+
{InternalCTRL, $(NoTitle),$(!REG_VT_DWORD),1310722},+
{BusType, $(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
{BusNumber, $(NoTitle),$(!REG_VT_DWORD),0},+
{CardType, $(NoTitle),$(!REG_VT_DWORD),3},+
{Pcmcia, $(NoTitle),$(!REG_VT_DWORD),1}}
endif
Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
CloseRegKey $(KeyParameters)

ifstr(i) $(Option) == ELPC3X
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562" $(MAXIMUM_ALLOWED) MyPcmciaHandle
Ifstr $(MyPcmciaHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey
CreateRegKey $(MyPcmciaKey) {"3C562",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle
CloseRegKey $(MyPcmciaKey)
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562" $(MAXIMUM_ALLOWED) MyPcmciaHandle
endif
set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3x"}}
Shell  $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList)
CloseRegKey $(MyPcmciaHandle)

OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562B/3C563B" $(MAXIMUM_ALLOWED) MyPcmciaHandle
Ifstr $(MyPcmciaHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey
CreateRegKey $(MyPcmciaKey) {"3C562B/3C563B",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle
CloseRegKey $(MyPcmciaKey)
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562B/3C563B" $(MAXIMUM_ALLOWED) MyPcmciaHandle
endif
set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3x"}}
Shell  $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList)
CloseRegKey $(MyPcmciaHandle)

OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562C/3C563C" $(MAXIMUM_ALLOWED) MyPcmciaHandle
Ifstr $(MyPcmciaHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation" $(MAXIMUM_ALLOWED) MyPcmciaKey
CreateRegKey $(MyPcmciaKey) {"3C562C/3C563C",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyPcmcialHandle
CloseRegKey $(MyPcmciaKey)
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Pcmcia\DataBase\3Com Corporation\3C562C/3C563C" $(MAXIMUM_ALLOWED) MyPcmciaHandle
endif
set NewValueList = {{Driver,$(NoTitle),$(!REG_VT_SZ),"elpc3x"}}
Shell  $(UtilityInf), AddValueList, $(MyPcmciaHandle), $(NewValueList)
CloseRegKey $(MyPcmciaHandle)
endif

ifcontains(i) $(Option) in {"ELPC3X", "ELPC3"}
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters\SerialELPC3X" $(MAXIMUM_ALLOWED) MyNewSerialHandle
Ifstr $(MyNewSerialHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\Serial\Parameters" $(MAXIMUM_ALLOWED) SerialKey
CreateRegKey $(SerialKey) {"SerialELPC3X",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
CloseRegKey $(SerialKey)
endif
set NewValueList = {{DosDevices, $(NoTitle),$(!REG_VT_SZ), "COM"$(ComPortValue)},+
{ForceFifoEnable, $(NoTitle), $(!REG_VT_DWORD), 0},+
{Interrupt, $(NoTitle), $(!REG_VT_DWORD), $(ModemInterruptNumberValue)},+
{PortAddress, $(NoTitle),$(!REG_VT_DWORD), $(ModemIOBaseAddressValue)}}
Shell  $(UtilityInf), AddValueList, $(MyNewSerialHandle), $(NewValueList)
CloseRegKey $(MyNewSerialHandle)

OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP\SERIALCOMM" $(MAXIMUM_ALLOWED) MyNewSerialHandle
Ifstr $(MyNewSerialHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "HARDWARE\DEVICEMAP" $(MAXIMUM_ALLOWED) SerialKey
CreateRegKey $(SerialKey) {"SERIALCOMM",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
CloseRegKey $(SerialKey)
endif
SetRegValue $(MyNewSerialHandle) {"SerialELPC3X",$(NoTitle),$(!REG_VT_SZ),"COM"$(ComPortValue)}
CloseRegKey $(MyNewSerialHandle)

OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports" $(MAXIMUM_ALLOWED) MyNewSerialHandle
Ifstr $(MyNewSerialHandle) == $(KeyNull)
OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(MAXIMUM_ALLOWED) SerialKey
CreateRegKey $(SerialKey) {"Ports",0,GenericClass} "" $(MAXIMUM_ALLOWED) "" MyNewSerialHandle
CloseRegKey $(SerialKey)
endif
SetRegValue $(MyNewSerialHandle) {"COM"$(ComPortValue)":",$(NoTitle),$(!REG_VT_SZ), "9600,n,8,1"}
CloseRegKey $(MyNewSerialHandle)
endif

ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

set RegistryErrorIndex = $($R0)

Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif

EndWait

goto successful

bindingadapter =+
set Error = "Binding: Sorry, not yet implemented."
goto fatal

removeadapter = +
Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

set RegistryErrorIndex = $($R0)

Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
else
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $(!NTN_RegBase)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

set RegistryErrorIndex = $($R0)

Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
endif
goto end

UpgradeSoftware = +
ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct

Ifstr $(KeyProduct) != $(KeyNull)
GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
set Version = *($(VersionInfo), 4)
Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set !UG_Filename = $($R0)

ifstr(i) $(!UG_Filename) != ""
install "Install-Update"
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
goto fatal
endif
endif

SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}

ifint $(Version) != $(ProductVersion)
endif
CloseRegKey $(KeyProduct)
else
goto fatalregistry
endif
else
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
$(MAXIMUM_ALLOWED) NetworkCardKey
Ifstr(i) $(NetworkCardKey) != $(KeyNull)
GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
set ServiceName = *($(ServiceNameInfo), 4)

OpenRegKey $(NetworkCardKey) "" "NetRules" +
$(MAXIMUM_ALLOWED) NetRuleKey
Ifstr(i) $(NetRuleKey) != $(KeyNull)
else
goto fatalregistry
endif

CloseRegKey $(NetRules)
CloseRegKey $(NetworkCardKey)
else
goto fatalregistry
endif
OpenRegKey $(!REG_H_LOCAL) "" +
$(!NTN_ServiceBase)"\"$(ServiceName) +
$(MAXIMUM_ALLOWED) ServiceKey

Ifstr(i) $(ServiceKey) != $(KeyNull)
CloseRegKey $(ServiceKey)
else
goto fatalregistry
endif
endif

goto end

successful = +
goto end

abandon = +
ForListDo $(OEM_ABANDON_OPTIONS)
Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
$(ProductSoftwareName), $($)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

set RegistryErrorIndex = $($R0)

Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
EndForListDo

Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
$(ProductSoftwareName), FALSE
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

set RegistryErrorIndex = $($R0)

Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
goto fatalregistry
endif
endif

goto end

warning = +
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr(i) $($R1) == "OK"
goto $(to)
else-ifstr(i) $($R1) == "CANCEL"
goto $(from)
else
goto "end"
endif

nonfatalinfo = +
Set Severity = STATUS
Set CommonStatus = STATUS_USERCANCEL
goto nonfatalmsg
nonfatal = +
Set Severity = NONFATAL
goto nonfatalmsg
nonfatalmsg = +
ifstr(i) $(Error) == ""
Set Severity = NONFATAL
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
endif
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
ifstr(i) $($R1) == "OK"
goto $(from)
else
goto "end"
endif

fatalregistry = +
Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
goto fatal

fataldetect = +
Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
Goto fatal

fatal = +
ifstr(i) $(Error) == ""
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif
set Error = $($R0)
endif
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto ShellCodeError
endif

goto setfailed

ShellCodeError = +
set DlgType = "MessageBox"
set STF_MB_TITLE = $(ShellCodeErrorTitle)
set STF_MB_TEXT = $(ShellCodeErrorText) 
set STF_MB_TYPE = 1
set STF_MB_ICON = 3
set STF_MB_DEF = 1
ui start "Error Message"
goto setfailed

setfailed = +
set CommonStatus = STATUS_FAILED
ifstr(i) $(OEM_ABANDON_ON) == TRUE
set OEM_ABANDON_ON = FALSE
goto abandon
endif
goto end

end = +
goto term

term = +
Return $(CommonStatus)

[DebugConfiguration]
Set InfName = "OEMSETNT.INF"
return

[Install-Option]
set STF_VITAL = ""

ifstr(i) $(AddCopy) == "YES"
AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
endif

ifstr(i) $(DoCopy) == "YES"
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
endif
Exit

[Install-Update]
set STF_VITAL = ""
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
exit

[Install-Dll]
set STF_VITAL = ""
AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
set !STF_NCPA_FLUSH_COPYLIST = TRUE
CopyFilesInCopyList
exit

[Source Media Descriptions]
1 = "3C562 EtherDisk for NT", TAGFILE = ELPC3X.DSK

[ProductType]
STF_PRODUCT  = Winnt
STF_PLATFORM = I386

[Files-Inf]
1, OEMSETNT.INF, SIZE=43500, RENAME=$(!UG_Filename)

[Files-Dll]
1, ELPC3X.DLL, SIZE=100000

[Files-ELPC3X]
1, ELPC3X.SYS, SIZE=50000

[LanguagesSupported]
ENG

[AllFileConstantsENG]
ProCaption = "Windows NT Setup"
ProCancel = "Cancel"
ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
               "Are you sure you want to cancel copying files?"
ProCancelCap = "Network Setup Message"
ProText1 = "Copying:"
ProText2 = "To:"
DialogDllName = "ELPC3X.DLL"

[FileConstantsENG-ELPC3X]
FunctionTitle = "EtherLink III LAN+336 Modem PC Card"$(GenericInfVersion)
ProductSoftwareTitle = $(GenericDriverName)
ProductHardwareTitle = $(GenericAdapterName)
IRQList = ^(IRQChoices, 1)
IRQValues = ^(IRQChoices, 2)
IOBaseAddrList = ^(IOBaseChoices, 1)    
IOBaseAddrValues = ^(IOBaseChoices, 2)
MemoryAddrList = ^(MemoryAddrChoices,1)
MemoryAddrValues = ^(MemoryAddrChoices,2)
MediaTypeList = ^(MediaTypeChoices, 1)
MediaTypeValues = ^(MediaTypeChoices, 2)
ComPortList = ^(ComPortChoices, 1)
ComPortValues = ^(ComPortChoices, 2)
LANOnlyList = ^(LANOnlyChoices, 1)
LANOnlyValues = ^(LANOnlyChoices, 2)
ModemIOBaseAddressList = ^(ModemIOBaseChoices,1)
ModemIOBaseAddressValues = ^(ModemIOBaseChoices,2)

[DialogConstantsENG-ELPC3X]
Help = "Help"
Exit = "Cancel"
OK = "OK"
HelpContext = ""
Continue = "Continue"
Cancel = "Cancel"

[FileDependentDlgENG-ELPC3X]
DlgType = "RadioCombination"
DlgTemplate = "ELPC3X"
Caption = $(FunctionTitle)
HelpContext = $(!IDH_DB_OEMNADE2_INS)
CBOptionsGreyed = {}
NotifyFields = {NO, NO, NO, NO, NO, NO, NO}
Combo1Label = "I/O Port Address:"                  
Combo2Label = "Memory Address:"
Combo3Label = "Network Interrupt:"
Combo4Label = "Media Type:"
Combo5Label = "Modem Port Address:"
Combo6Label = "Modem Interrupt:"
Combo7Label = "Com Port:"
Combo8Label = "LANOnly Mode:"
Combo1List = $(IOBaseAddrList)
Combo1Out = $(IOBaseAddrValue)
Combo2List = $(MemoryAddrList)
Combo2Out = $(MemoryAddrValue)
Combo3List = $(IRQList)
Combo3Out = $(IRQValue)
Combo4List = $(MediaTypeList)
Combo4Out = $(MediaTypeValue)
Combo5List = $(ModemIOBaseAddressList)
Combo5Out = $(ModemIOBaseAddressValue)
Combo6List = $(IRQList)
Combo6Out = $(ModemInterruptNumberValue)
Combo7List = $(ComPortList)
Combo7Out = $(ComPortValue)
Combo8List = $(LANOnlyList)
Combo8Out = $(LANOnlyValue)
ComboListItemsIn = {Combo1List,Combo2List,Combo3List,Combo4List,Combo5List,Combo6List,Combo7List,Combo8List}
ComboListItemsOut = {Combo1Out,Combo2Out,Combo3Out,Combo4Out,Combo5Out,Combo6Out,Combo7Out,Combo8Out}
EditTextIn = {"",""}
EditTextLim = {"",""}

[MemoryAddrChoices]
MA_1 = "0xC8000", 819200
MA_2 = "0xC9000", 823296
MA_3 = "0xCA000", 827392
MA_4 = "0xCB000", 831488
MA_5 = "0xCC000", 835584
MA_6 = "0xCD000", 839680
MA_7 = "0xCE000", 843776
MA_8 = "0xCF000", 847872
MA_9 = "0xD0000", 851968
MA_10 = "0xD1000", 856064
MA_11 = "0xD2000", 860160
MA_12 = "0xD3000", 864256
MA_13 = "0xD4000", 868352
MA_14 = "0xD5000", 872448
MA_15 = "0xD6000", 876544
MA_16 = "0xD7000", 880640
MA_17 = "0xD8000", 884736
MA_18 = "0xD9000", 888832
MA_19 = "0xDA000", 892928
MA_20 = "0xDB000", 897024
MA_21 = "0xDC000", 901120
MA_22 = "0xDD000", 905216
MA_23 = "0xDE000", 909312
MA_24 = "0xDF000", 913408
MA_25 = "0xE0000", 917504
MA_26 = "0xE1000", 921600
MA_27 = "0xE2000", 925696
MA_28 = "0xE3000", 929792
MA_29 = "0xE4000", 933888
MA_30 = "0xE5000", 937984
MA_31 = "0xE6000", 942080
MA_32 = "0xE7000", 946176
MA_33 = "0xE8000", 950272
MA_34 = "0xE9000", 954368
MA_35 = "0xEA000", 958464
MA_36 = "0xEB000", 962560
MA_37 = "0xEC000", 966656
MA_38 = "0xED000", 970752
MA_39 = "0xEE000", 974848
MA_40 = "0xEF000", 978944

[IRQChoices]
IRQ_1 = "3",3
IRQ_2 = "4",4
IRQ_3 = "5",5
IRQ_4 = "7",7
IRQ_5 = "9",9
IRQ_6 = "10",10
IRQ_7 = "11",11
IRQ_8 = "15",15
            
[ModemIOBaseChoices]
MdmIOBase_1 = "0x3F8",1016
MdmIOBase_2 = "0x2F8",760
MdmIOBase_3 = "0x3E8",1000
MdmIOBase_4 = "0x2E8",744
         
[ComPortChoices]
CP_1 = "COM1", 1
CP_2 = "COM2", 2
CP_3 = "COM3", 3
CP_4 = "COM4", 4

[LANOnlyChoices]
MS_1 = "Disabled", 0
MS_2 = "Enabled", 1

[IOBaseChoices]
IOBase_1 = "0x200",512
IOBase_2 = "0x210",528
IOBase_3 = "0x220",544
IOBase_4 = "0x230",560
IOBase_5 = "0x240",576
IOBase_6 = "0x250",592
IOBase_7 = "0x260",608
IOBase_8 = "0x270",624
IOBase_9 = "0x280",640
IOBase_10 = "0x290",656
IOBase_11 = "0x2A0",672
IOBase_12 = "0x2B0",698
IOBase_13 = "0x2C0",714
IOBase_14 = "0x2D0",730
IOBase_15 = "0x2E0",746
IOBase_16 = "0x2F0",752
IOBase_17 = "0x300",768
IOBase_18 = "0x310",784
IOBase_19 = "0x320",800
IOBase_20 = "0x330",816
IOBase_21 = "0x340",832
IOBase_22 = "0x350",848
IOBase_23 = "0x360",864
IOBase_24 = "0x370",880
IOBase_25 = "0x380",896
IOBase_26 = "0x390",912
IOBase_27 = "0x3A0",928
IOBase_28 = "0x3B0",944
IOBase_29 = "0x3C0",960
IOBase_30 = "0x3D0",976

[MediaTypeChoices]
MT_1 = "TP (10BaseT)", 0
MT_2 = "COAX (10Base2)", 1

Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web4, load: 1.28