Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1328 lines
39 KiB

  1. ;***********************************************************************
  2. ;
  3. ; OEMNADE3.INF
  4. ;
  5. ; Elink 3 network card and driver SETUP INF file.
  6. ;
  7. ; History:
  8. ; davidhov 00-Feb-1992 Created
  9. ; terryk 27-Feb-1992 Reorganize section location
  10. ; added comment
  11. ; terryk 03-Mar-1992 Changed to Elink II setup
  12. ; terryk 02-Apr-1992 Code review changed
  13. ; davidhov 03-Apr-1992 Enhanced to use new INF section
  14. ; structure from SunilP, et al.
  15. ; davidhov 06-Dec-1992 Netcard Detection
  16. ;***********************************************************************
  17. ;-----------------------------------------------------------------------
  18. ; OPTION TYPE
  19. ; -----------
  20. ; This identifies the Option type we are dealing with. The different
  21. ; possible types are:
  22. ;
  23. ; COMPUTER, DISPLAY, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  24. ;
  25. ; Types specific to networking:
  26. ;
  27. ; NetAdapter, a netcard / adapter combination or just a netcard
  28. ; NetDriver, just a netcard driver
  29. ; NetTransport, a complete NDIS-compliant TDI transport stack
  30. ; NetService, an NT networking service
  31. ; NetWork, a complete network ensemble.
  32. ; NetProvider a complete network which supports NT MPR protocol
  33. ;-----------------------------------------------------------------------
  34. [Identification]
  35. OptionType = NetAdapter
  36. ;-----------------------------------------------------------------------
  37. ; PlatformsSupported
  38. ; ------------------
  39. ; This identifies the platforms supported by the adapter card.
  40. ; Possible types are:
  41. ;
  42. ; ISA, EISA and MCA
  43. ;-----------------------------------------------------------------------
  44. [PlatformsSupported]
  45. ISA
  46. EISA
  47. PCMCIA
  48. "Jazz-Internal Bus"
  49. ;-----------------------------------------------------------------------
  50. ; OPTION LIST
  51. ; -----------
  52. ; This section lists the OEM Option key names. These keys are locale
  53. ; independent and used to represent the option in a locale independent
  54. ; manner.
  55. ;
  56. ;-----------------------------------------------------------------------
  57. [Options]
  58. ELNK3ISA509
  59. ;***********************************************************************
  60. ; CONSTANTS FOR USING DIALOGS
  61. ;***********************************************************************
  62. [FileConstants]
  63. ;
  64. ; File names, etc.
  65. ;
  66. UtilityInf = "UTILITY.INF"
  67. ParamInf = "NCPARAM.INF"
  68. subroutineinf = "SUBROUTN.INF"
  69. SoftwareType = "driver"
  70. Exit_Code = 0
  71. ;
  72. ; EventLog Message File
  73. ;
  74. NetEventDLL = "%SystemRoot%\System32\netevent.dll"
  75. IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
  76. ; Product Info
  77. ;
  78. Manufacturer = "Microsoft"
  79. ProductMajorVersion = "4"
  80. ProductMinorVersion = "0"
  81. ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
  82. ;
  83. ; Software
  84. ;
  85. ProductSoftwareName = "Elnk3"
  86. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\elnk3.sys"
  87. NetRuleSoftwareType = "elnk3Sys ndisDriver elnk3Driver"
  88. NetRuleSoftwareUse = $(SoftwareType)
  89. NetRuleSoftwareBindForm = """Elnk3Sys"" yes no container"
  90. NetRuleSoftwareClass = {"elnk3Driver basic"}
  91. NetRuleSoftwareBindable = {"elnk3Driver elnk3Adapter non exclusive 100"}
  92. ;
  93. ; Hardware
  94. ;
  95. ProductHardwareName = "Elnk3"
  96. NetRuleHardwareType = "elnk3 elnk3Adapter"
  97. NetRuleHardwareBindForm = " yes yes container"
  98. NetRuleHardwareClass = {"elnk3Adapter basic"}
  99. ProductOpSupport = 134 ; 0x0086 ; Display,Removable,Properties,Not Updatable
  100. ;
  101. ; Registry Key
  102. ;
  103. ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  104. ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  105. [GeneralConstants]
  106. ;
  107. ; Program flow control variables.
  108. ;
  109. from = ""
  110. to = ""
  111. ;
  112. ; Return codes; Exit_Code is set to one of these
  113. ;
  114. ExitCodeOk = 0
  115. ExitCodeCancel = 1
  116. ExitCodeFatal = 2
  117. KeyNull = ""
  118. MAXIMUM_ALLOWED = 33554432
  119. RegistryErrorIndex = NO_ERROR
  120. KeyProduct = ""
  121. KeyParameters = ""
  122. TRUE = 1
  123. FALSE = 0
  124. NoTitle = 0
  125. ExitState = "Active"
  126. OldVersionExisted = $(FALSE)
  127. DriverPath = $(!STF_NTPATH)\drivers
  128. [date]
  129. ; Now is a list which contains { Sec from 1-1-1970, Year, Month, Day, Hour,
  130. ; Minute, Second }
  131. Now = {} ? $(!LIBHANDLE) GetSystemDate
  132. ;---------------------------------------------------------------------------
  133. ; 1. Identify
  134. ;
  135. ; DESCRIPTION: To verify that this INF deals with the same type of options
  136. ; as we are choosing currently.
  137. ;
  138. ; INPUT: None
  139. ;
  140. ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL
  141. ; $($R1): Option Type (COMPUTER ...)
  142. ; $($R2): Diskette description
  143. ;---------------------------------------------------------------------------
  144. [Identify]
  145. ;
  146. ;
  147. read-syms Identification
  148. set Status = STATUS_SUCCESSFUL
  149. set Identifier = $(OptionType)
  150. set Media = #("Source Media Descriptions", 1, 1)
  151. Return $(Status) $(Identifier) $(Media)
  152. ;------------------------------------------------------------------------
  153. ; 2. ReturnOptions:
  154. ;
  155. ; DESCRIPTION: To return the option list supported by this INF and the
  156. ; localised text list representing the options.
  157. ;
  158. ;
  159. ; INPUT: $($0): Language used. ( ENG | FRN | ... )
  160. ;
  161. ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
  162. ; STATUS_NOLANGUAGE
  163. ; STATUS_FAILED
  164. ; STATUS_NOTSUPPORTED
  165. ;
  166. ; $($R1): Option List
  167. ; $($R2): Option Text List
  168. ;------------------------------------------------------------------------
  169. [ReturnOptions]
  170. ;
  171. ;
  172. set Status = STATUS_FAILED
  173. set OptionList = {}
  174. set OptionTextList = {}
  175. ;
  176. ; Check if the language requested is supported
  177. ;
  178. set LanguageList = ^(LanguagesSupported, 1)
  179. Ifcontains(i) $($0) in $(LanguageList)
  180. ;
  181. ; Check if the platforms requested is supported
  182. ;
  183. ifstr(i) $($1) == ""
  184. goto returnoptions
  185. endif
  186. set PlatformList = ^(PlatformsSupported, 1)
  187. Ifcontains(i) $($1) in $(PlatformList)
  188. goto returnoptions
  189. else
  190. set Status = STATUS_NOTSUPPORTED
  191. goto finish_ReturnOptions
  192. endif
  193. else
  194. set Status = STATUS_NOLANGUAGE
  195. goto finish_ReturnOptions
  196. endif
  197. ;
  198. ; form a list of all the options and another of the text representing
  199. ;
  200. returnoptions = +
  201. set OptionList = ^(Options, 1)
  202. set OptionTextList = ^(OptionsText$($0), 1)
  203. set Status = STATUS_SUCCESSFUL
  204. finish_ReturnOptions = +
  205. Return $(Status) $(OptionList) $(OptionTextList)
  206. ;------------------------------------------------------------------------
  207. ;
  208. ; InstallOption:
  209. ;
  210. ; This section is shelled to by main installation processing
  211. ; or by NCPASHEL.INF during reconfig, removal, update, etc.
  212. ;
  213. ;
  214. ; FUNCTION: To copy files representing Options
  215. ; To configure the installed option
  216. ; To update the registry for the installed option
  217. ;
  218. ; INPUT: $($0): Language to use
  219. ; $($1): OptionID to install
  220. ; $($2): SourceDirectory
  221. ; $($3): AddCopy (YES | NO)
  222. ; $($4): DoCopy (YES | NO)
  223. ; $($5): DoConfig (YES | NO)
  224. ;
  225. ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
  226. ; STATUS_NOLANGUAGE |
  227. ; STATUS_USERCANCEL |
  228. ; STATUS_FAILED
  229. ;
  230. ;------------------------------------------------------------------------
  231. [InstallOption]
  232. ;
  233. ; Set default values for
  234. ;
  235. set Status = STATUS_FAILED
  236. ;
  237. ; extract parameters
  238. ;
  239. set Option = $($1)
  240. set SrcDir = $($2)
  241. set AddCopy = $($3)
  242. set DoCopy = $($4)
  243. set DoConfig = $($5)
  244. ;
  245. ; Check if the language requested is supported
  246. ;
  247. set LanguageList = ^(LanguagesSupported, 1)
  248. Ifcontains(i) $($0) NOT-IN $(LanguageList)
  249. Return STATUS_NOLANGUAGE
  250. endif
  251. set-subst LF = "\n"
  252. read-syms GeneralConstants
  253. read-syms FileConstants
  254. read-syms DialogConstants$(!STF_LANGUAGE)
  255. ifstr(i) $(!NTN_Origination) == "NCPA"
  256. set Continue = $(OK)
  257. endif
  258. read-syms FileConstants$(!STF_LANGUAGE)
  259. detect date
  260. set-title $(FunctionTitle)
  261. set to = Begin
  262. set from = Begin
  263. ;
  264. ; Assume all is well.
  265. ;
  266. set CommonStatus = STATUS_SUCCESSFUL
  267. EndWait
  268. ;
  269. ; Set up the operation-mode-based variables and gaily welcome
  270. ; the user. If the "install mode" variable is improperly set,
  271. ; assume this is a new installation.
  272. ;
  273. Begin = +
  274. Set ActivateDetection = FALSE
  275. Ifstr(i) $(!NTN_InstallMode) == deinstall
  276. set StartLabel = removeadapter
  277. else-Ifstr(i) $(!NTN_InstallMode) == Update
  278. set StartLabel = UpgradeSoftware
  279. else-Ifstr(i) $(!NTN_InstallMode) == bind
  280. set StartLabel = bindingadapter
  281. else-Ifstr(i) $(!NTN_InstallMode) == configure
  282. set CommonStatus = STATUS_REBOOT
  283. set ActivateDetection = TRUE
  284. set StartLabel = configureadapter
  285. ;
  286. ; You cannot config the software component
  287. ;
  288. Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  289. Debug-Output "Cannot configure the Elink II driver software."
  290. Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  291. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  292. Debug-Output "ShellCode error: cannot get an error string."
  293. goto ShellCodeError
  294. endif
  295. set Error = $($R0)
  296. set from = end
  297. set to = end
  298. goto nonfatalinfo
  299. endif
  300. else
  301. set ActivateDetection = TRUE
  302. set StartLabel = installadapter
  303. set OEM_ABANDON_OPTIONS = {}
  304. set OEM_ABANDON_SOFTWARE = FALSE
  305. set OEM_ABANDON_ON = TRUE
  306. endif
  307. ;===================================================
  308. ; Netcard Detection logic
  309. ;
  310. ; Initialize use of netcard detection;
  311. ; Construct require global parameter variables
  312. ;
  313. Debug-Output "oemnade3.INF: =================================================="
  314. Debug-Output "oemnade3.INF: STF_CWDIR is: "$(!STF_CWDIR)
  315. Debug-Output "oemnade3.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  316. Debug-Output "oemnade3.INF: Option is: "$(Option)
  317. Debug-Output "oemnade3.INF: !STF_NCDETECT is: "$(!STF_NCDETECT)
  318. Debug-Output "oemnade3.INF: !STF_NCOPTION is: "$(!STF_NCOPTION)
  319. Debug-Output "oemnade3.INF: !STF_NCDETCARD is: "$(!STF_NCDETCARD)
  320. Debug-Output "oemnade3.INF: !STF_NCDETINFO is: "$(!STF_NCDETINFO)
  321. Debug-Output "oemnade3.INF: =================================================="
  322. Set DetectedCard = FALSE
  323. set PCMCIA = 0
  324. Ifstr(i) $(ActivateDetection) != TRUE
  325. Goto $(StartLabel)
  326. Endif
  327. set Transceiver = 0
  328. set CardType = 0
  329. ;
  330. ; Set !STF_NC_PARAMS and !STF_NC_PNAMES by calling
  331. ; PARAM.INF!Param_BuildTypeLists.
  332. ; Pass it a list of the form:
  333. ;
  334. ; { { <param name>,
  335. ; <name of choice list var>,
  336. ; <name of default var> },
  337. ; ...
  338. ; }
  339. ;
  340. Set TypeList = {{IRQ, IRQList, IRQValue},+
  341. {PCMCIA, PCMCIAList, PCMCIA},+
  342. {CARDTYPE, CardTypeList, CardType},+
  343. {IOADDR, IOADDR_Addr_List, IOBaseAddrValue},+
  344. {TRANSCEIVER, TransceiverList_ignore, Transceiver}}
  345. Debug-Output "oemnade3.INF: Calling Param_BuildTypeLists"
  346. Shell $(ParamInf) Param_BuildTypeLists $(Option) $(TypeList)
  347. Set Status = $($R0)
  348. ifstr(i) $(Status) != STATUS_SUCCESSFUL
  349. Goto fataldetect
  350. Endif
  351. Debug-Output "oemnade3.INF: Calling Param_SetDefaults"
  352. Shell $(ParamInf) Param_SetDefaults {{IOADDR,768},{IRQ,10}}
  353. ; Establish presentation versions of choice lists.
  354. Shell $(ParamInf) HexListFromDecList $(IOADDR_Addr_List)
  355. Set IOADDR_Hex_List = $($R0)
  356. Shell $(UtilityInf) SortList $(IRQList) TRUE FALSE
  357. Set IRQList = $($R0)
  358. ; If this is a detected card, set the flag.
  359. Ifstr(i) $(!STF_NCDETECT) == YES
  360. Ifstr(i) $(!STF_NCOPTION) == $(Option)
  361. Set DetectedCard = TRUE
  362. Debug-Output "oemnade3.INF: Setting DetectedCard to TRUE"
  363. Endif
  364. Endif
  365. ;
  366. ; End Netcard Detection logic
  367. ;===================================================
  368. Shell "" DebugConfiguration "After parameter querying"
  369. Set from = $(fatal)
  370. Set to = $(fatal)
  371. Goto $(StartLabel)
  372. ;-----------------------------------------------
  373. ; Installation Section
  374. ;-----------------------------------------------
  375. installadapter = +
  376. ;
  377. ; First, check whether the same version of the software exists
  378. ;
  379. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  380. Ifstr $(KeyProduct) != $(KeyNull)
  381. ;
  382. ; Same version already existed in the local machine
  383. ; Popup the dialog and ask the user whether he wants to continue
  384. ;
  385. CloseRegKey $(KeyProduct)
  386. ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  387. ;
  388. ; Cannot Install the same software again
  389. ;
  390. Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  391. $(ProductVersion)
  392. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  393. Debug-Output "ShellCode error: cannot get an error string."
  394. goto ShellCodeError
  395. endif
  396. goto end
  397. else
  398. ;
  399. ; Add a new adapter card?
  400. ;
  401. Shell $(UtilityInf), CardExistedDlg
  402. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  403. Debug-Output "ShellCode error: cannot get an error string."
  404. goto ShellCodeError
  405. endif
  406. ifstr(i) $($R1) != "OK"
  407. set CommonStatus = STATUS_USERCANCEL
  408. goto end
  409. endif
  410. set OldVersionExisted = $(TRUE)
  411. endif
  412. endif
  413. ;===================================================
  414. ; Netcard Detection logic
  415. ;
  416. ; If this is a detected card, query its parameters
  417. ; and merge them into the default list.
  418. ;
  419. ; Indicate that there are no old parameter settings.
  420. Set CurrParamSettings = {}
  421. Ifstr(i) $(DetectedCard) != TRUE
  422. Goto adaptersetup
  423. Endif
  424. ;
  425. ; Get the detected parameters
  426. ;
  427. StartWait
  428. Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  429. EndWait
  430. Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  431. Goto adaptersetup
  432. Endif
  433. ;
  434. ; Merge the detected values in.
  435. ;
  436. Set DetectedParams = $($R1)
  437. Debug-Output "oemnade3.INF: Calling Param_SetDefaults to merge detected params"
  438. Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  439. ;
  440. ; End Netcard Detection logic
  441. ;===================================================
  442. goto adaptersetup
  443. ;-----------------------------------------------
  444. ; Configuration Section
  445. ;-----------------------------------------------
  446. ;
  447. ; Get the current values of all the parameters
  448. ;
  449. configureadapter = +
  450. Ifstr $(KeyProduct) == $(KeyNull)
  451. OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  452. Ifstr $(KeyProduct) == $(KeyNull)
  453. set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  454. Debug-Output "Cannot find component product key"
  455. goto fatalregistry
  456. Endif
  457. Endif
  458. ;
  459. ; Get the other parameters; they're attached to the service parameters key
  460. ;
  461. Debug-Output "INF: Shelling to FindService"
  462. Shell $(UtilityInf) FindService, $(KeyProduct)
  463. Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  464. Debug-Output "INF: FindService shell failure"
  465. Goto ShellCodeError
  466. Endif
  467. Ifstr(i) $($R0) != NO_ERROR
  468. Debug-Output "INF: FindService Shell error: "$($R0)
  469. Goto fatalregistry
  470. endif
  471. Set KeyParameters = $($R2)
  472. ;
  473. ; We don't need the services key, so close it.
  474. ;
  475. CloseRegKey $($R1)
  476. Ifstr $(KeyParameters) == $(KeyNull)
  477. set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  478. Debug-Output "Cannot find component service"
  479. goto fatalregistry
  480. endif
  481. set OldVersionExisted = $(TRUE)
  482. set ValueName = ""
  483. set ValueData = ""
  484. set ValueStr = ""
  485. set ValueList = {}
  486. ;
  487. ; Get the old values
  488. ;
  489. EnumRegValue $(KeyParameters) ValueList
  490. ForListDo $(ValueList)
  491. set ValueItem = $($)
  492. set ValueName = *($(ValueItem),1)
  493. set ValueData = *($(ValueItem),4)
  494. Ifstr(i) $(ValueName) == "IoBaseAddress"
  495. set IOBaseAddrValue = $(ValueData)
  496. else-ifstr(i) $(ValueName) == "InterruptNumber"
  497. set IRQValue = $(ValueData)
  498. else-ifstr(i) $(ValueName) == "BusType"
  499. set BusInterfaceType = $(ValueData)
  500. else-ifstr(i) $(ValueName) == "PCMCIA"
  501. set PCMCIA = $(ValueData)
  502. else-ifstr(i) $(ValueName) == "Transceiver"
  503. set Transceiver = $(ValueData)
  504. else-ifstr(i) $(ValueName) == "BusNumber"
  505. set BusNumber = $(ValueData)
  506. endif
  507. EndForListDo
  508. ; Save the settings as they were read from the Registry.
  509. Shell $(ParamInf) Param_SaveValues
  510. Set CurrParamSettings = $($R0)
  511. ;
  512. ; Put up the adapter configuration dialog if necessary.
  513. ;
  514. ; Note that $(CurrParamSettings) has the old known parameter values.
  515. ;
  516. adaptersetup = +
  517. Shell "" DebugConfiguration "before displaying dialog"
  518. Set from = adapteroptions
  519. Set IOADDR_Hex_Value = *($(IOADDR_Hex_List), ~($(IOADDR_Addr_List),$(IOBaseAddrValue)))
  520. set-add Transceiver = $(Transceiver),1
  521. set TransceiverValue = *($(TransceiverList), $(Transceiver))
  522. ;===================================================
  523. ; Netcard Detection logic
  524. ;
  525. ; Check that this card's parameters can be
  526. ; fully detected.
  527. ;
  528. Shell $(ParamInf) Param_ParameterConfidence
  529. Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  530. Debug-Output "oemnade3.INF: parameter confidence too low to bypass configuration"
  531. Goto adapteroptions
  532. Endif
  533. ;
  534. ; If this is a detected card and we're in EXPRESS mode,
  535. ; see if the parameters as they currently exist are
  536. ; verifiably correct.
  537. ;
  538. Ifstr(i) $(DetectedCard) == TRUE
  539. Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
  540. ; use the STF_NCDETINFO information
  541. set BusInterfaceType = *($(!STF_NCDETINFO),5)
  542. set BusNumber = *($(!STF_NCDETINFO),6)
  543. Goto adapterverify
  544. Endif
  545. Endif
  546. ;
  547. ; End Netcard Detection logic
  548. ;===================================================
  549. adapteroptions = +
  550. ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
  551. ifstr(i) $(!AutoNetInterfaceType) != ""
  552. set BusInterfaceType = $(!AutoNetInterfaceType)
  553. ;
  554. ; hack, until we get plug n play,
  555. ;
  556. ifint $(BusInterfaceType) == 8
  557. set PCMCIA = 1
  558. endif
  559. else
  560. set BusInterfaceType = 1 ;ISA
  561. endif
  562. ifstr(i) $(!AutoNetBusNumber) != ""
  563. set BusNumber = $(!AutoNetBusNumber)
  564. else
  565. set BusNumber = 0
  566. endif
  567. goto adapterverify
  568. endif
  569. read-syms FileDependentDlg$(!STF_LANGUAGE)
  570. ui start "InputDlg"
  571. ifstr(i) $(DLGEVENT) == "CONTINUE"
  572. set IOADDR_Hex_Value = $(Combo1Out)
  573. Set IOBaseAddrValue = *($(IOADDR_Addr_List), ~($(IOADDR_Hex_List),$(IOADDR_Hex_Value)))
  574. set IRQValue = $(Combo2Out)
  575. set Transceiver = ~($(TransceiverList),$(Combo3Out))
  576. ui pop 1
  577. else-ifstr(i) $(DLGEVENT) == "BACK"
  578. set CommonStatus = STATUS_USERCANCEL
  579. Debug-Output "Action: exit. Bye."
  580. ui pop 1
  581. goto end
  582. else
  583. Debug-Output "Action: unknown. Bye."
  584. ui pop 1
  585. goto end
  586. endif
  587. ifstr(i) $(!STF_NCDETINFO) == {}
  588. ifint $(PCMCIA) != 1
  589. ; not detect. popup dialog.
  590. Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
  591. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  592. Debug-Output "ShellCode error."
  593. goto ShellCodeError
  594. endif
  595. set BusInterfaceType = $($R1)
  596. set BusNumber = $($R2)
  597. else
  598. set BusInterfaceType = 1
  599. set BusNumber = 0
  600. endif
  601. else
  602. ; use the STF_NCDETINFO information
  603. set BusInterfaceType = *($(!STF_NCDETINFO),5)
  604. set BusNumber = *($(!STF_NCDETINFO),6)
  605. endif
  606. adapterverify = +
  607. set-sub Transceiver = $(Transceiver),1
  608. Shell "" DebugConfiguration "after running dialog"
  609. ;===================================================
  610. ; Netcard Detection logic
  611. ;
  612. ; If this is a detected card, attempt to validate the options
  613. ; If just a normal card, try to claim the resources which have
  614. ; changed.
  615. ;
  616. Ifstr(i) $(DetectedCard) != TRUE
  617. ; Build the current parameter list. If this is an installation,
  618. ; (indicated by the fact that the current settings list is empty)
  619. ; claim all the parameters; otherwise, just claim those which
  620. ; have changed.
  621. Shell $(ParamInf) Param_SaveValues
  622. Set NewParamSettings = $($R0)
  623. Ifstr(i) $(CurrParamSettings) == {}
  624. Set DiffParamSettings = $(NewParamSettings)
  625. Else
  626. Shell $(ParamInf) Param_DiffValues $(CurrParamSettings)
  627. Set DiffParamSettings = $($R0)
  628. Endif
  629. Debug-Output "oemnade3.INF: Calling Param_VerifyResources"
  630. Shell $(ParamInf) Param_VerifyResources $(DiffParamSettings)
  631. Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  632. Debug-Output "oemnade3.INF: Param_VerifyResources succeeded"
  633. Goto skipoptions
  634. Endif
  635. Else
  636. Set CardVerifyIndex = $(!STF_NCDETCARD)
  637. Debug-Output "oemnade3.INF: Calling Param_VerifyCard"
  638. Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  639. Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  640. Debug-Output "oemnade3.INF: Param_VerifyCard succeeded"
  641. Goto skipoptions
  642. Endif
  643. Endif
  644. ;
  645. ; Give the user a chance to retry or force the options given.
  646. ;
  647. Set from = adapteroptions
  648. Set to = skipoptions
  649. Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  650. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  651. Debug-Output "ShellCode error: cannot get an error string."
  652. goto ShellCodeError
  653. endif
  654. set Error = $($R0)
  655. Goto Warning
  656. ;
  657. ; End Netcard Detection logic
  658. ;===================================================
  659. ;
  660. ; If installing, go create the necessary keys;
  661. ; if configuring, they're already open.
  662. ;
  663. skipoptions =+
  664. ifint $(OldVersionExisted) == $(TRUE)
  665. ifstr(i) $(!NTN_InstallMode) == configure
  666. goto writeparameters
  667. endif
  668. endif
  669. StartWait
  670. ;
  671. ; Add Software Component
  672. ;
  673. ifint $(OldVersionExisted) == $(FALSE)
  674. ifstr(i) $(!NTN_InstallMode) == "install"
  675. Ifstr(i) $(DoCopy) == "YES"
  676. Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  677. Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  678. Goto ShellCodeError
  679. Else-Ifstr(i) $($R0) == STATUS_FAILED
  680. Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  681. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  682. goto ShellCodeError
  683. endif
  684. set Error = $($R0)
  685. Goto fatal
  686. Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  687. Goto successful
  688. Endif
  689. Set SrcDir = $($R1)
  690. Endif
  691. install "Install-Option"
  692. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  693. Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  694. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  695. goto ShellCodeError
  696. endif
  697. set Error = $($R0)
  698. goto fatal
  699. endif
  700. endif
  701. Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  702. $(ProductSoftwareName), +
  703. $(ProductSoftwareName), +
  704. $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  705. $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  706. $(NetEventDLL)
  707. Set OEM_ABANDON_SOFTWARE = TRUE
  708. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  709. Debug-Output "ShellCode error"
  710. goto ShellCodeError
  711. endif
  712. ;
  713. ; At this point:
  714. ; $R1 contains the product version key handle;
  715. ; $R2 contains the NetRules subkey handle;
  716. ; $R3 contains the new Services key handle; and
  717. ; $R4 contains the Parameters key
  718. ; $R5 contains the Linkage Key
  719. ;
  720. set RegistryErrorIndex = $($R0)
  721. set KeyProduct = $($R1)
  722. Set SoftNetRulesKey = $($R2)
  723. CloseRegKey $($R3)
  724. CloseRegKey $($R4)
  725. CloseRegKey $($R5)
  726. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  727. EndWait
  728. Debug-Output "Registry error: add software components"
  729. CloseRegKey $(KeyProduct)
  730. CloseRegKey $(SoftNetRulesKey)
  731. goto fatalregistry
  732. endif
  733. set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  734. {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  735. {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  736. {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  737. {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  738. {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  739. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  740. Shell $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  741. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  742. Debug-Output "ShellCode error."
  743. goto ShellCodeError
  744. endif
  745. set RegistryErrorIndex = $($R0)
  746. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  747. EndWait
  748. Debug-Output "Registry error: add value list."
  749. CloseRegKey $(KeyProduct)
  750. CloseRegKey $(SoftNetRulesKey)
  751. goto fatalregistry
  752. endif
  753. set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  754. {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  755. {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  756. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  757. {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  758. {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  759. Shell $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  760. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  761. Debug-Output "ShellCode error."
  762. goto ShellCodeError
  763. endif
  764. set RegistryErrorIndex = $($R0)
  765. CloseRegKey $(KeyProduct)
  766. CloseRegKey $(SoftNetRulesKey)
  767. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  768. EndWait
  769. Debug-Output "Resgitry error: add value list."
  770. goto fatalregistry
  771. endif
  772. endif
  773. ;
  774. ; Create the HARDWARE\Netcard region and its corresponding service
  775. ;
  776. Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  777. ifint $($R4) != -1
  778. Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  779. endif
  780. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  781. Debug-Output "Cannot add hardware component"
  782. goto ShellCodeError
  783. endif
  784. set RegistryErrorIndex = $($R0)
  785. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  786. EndWait
  787. Debug-Output "Registry error: add hardware component"
  788. CloseRegKey $($R1)
  789. CloseRegKey $($R2)
  790. CloseRegKey $($R3)
  791. goto fatalregistry
  792. endif
  793. ;
  794. ; At this point:
  795. ; $R1 Registry key variable for HARDWARE\Netcard\(n)
  796. ; $R2 Registry key variable for HARDWARE\Netcard\(n)\\NetRules
  797. ; $R3 Registry key handle for <service>\Parameters key
  798. ; $R4 Adapter number assigned to adapter
  799. ; $R5 Service name generated by combining svc name with adapter number
  800. ;
  801. set KeyParameters = $($R3)
  802. set KeyAdapterRules = $($R2)
  803. set AdapterNumber = $($R4)
  804. set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  805. {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  806. {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  807. {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  808. {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  809. {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)},+
  810. {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  811. Shell $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  812. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  813. Debug-Output "ShellCode error"
  814. goto ShellCodeError
  815. endif
  816. CloseRegKey $($R1)
  817. set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  818. set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  819. set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  820. {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  821. {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  822. {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  823. Shell $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  824. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  825. Debug-Output "ShellCode error."
  826. goto ShellCodeError
  827. endif
  828. set RegistryErrorIndex = $($R0)
  829. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  830. EndWait
  831. Debug-Output "Resgitry error: add value list."
  832. CloseRegKey $(KeyParameters)
  833. CloseRegKey $(KeyAdapterRules)
  834. goto fatalregistry
  835. endif
  836. CloseRegKey $(KeyAdapterRules)
  837. goto writeparameters
  838. ;
  839. ; REQUIRED: $(KeyParameters) contains service Parameters key handle
  840. ;
  841. writeparameters = +
  842. ;
  843. ; Add the rest of the parameters to the Services area
  844. ;
  845. ifint $(BusInterfaceType) == 8
  846. set PCMCIA = 1
  847. ;
  848. ; Hack, remove it if we have plug and play
  849. ;
  850. set BusInterfaceType = 1
  851. endif
  852. ifint $(PCMCIA) == 1
  853. set CardType = 3
  854. endif
  855. Set NewValueList = {+
  856. {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
  857. {InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
  858. {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
  859. {CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+
  860. {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  861. {Transceiver,$(NoTitle),$(!REG_VT_DWORD),$(Transceiver)},+
  862. {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)}}
  863. Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  864. ifint $(PCMCIA) == 1
  865. set NewValueList = {{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1}}
  866. Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  867. else
  868. DeleteRegValue $(KeyParameters) "Pcmcia"
  869. endif
  870. ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
  871. Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters)
  872. endif
  873. CloseRegKey $(KeyParameters)
  874. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  875. Debug-Output "ShellCode error."
  876. goto ShellCodeError
  877. endif
  878. set RegistryErrorIndex = $($R0)
  879. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  880. Debug-Output "Registry error: Add value list"
  881. goto fatalregistry
  882. endif
  883. EndWait
  884. goto successful
  885. ;-----------------------------------------------
  886. ; Binding section
  887. ;-----------------------------------------------
  888. bindingadapter =+
  889. set Error = "Binding: Sorry, not yet implemented."
  890. goto fatal
  891. ;-----------------------------------------------
  892. ; Removeadapter section
  893. ;-----------------------------------------------
  894. removeadapter = +
  895. Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  896. ; Remove Software Component
  897. Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  898. $(ProductSoftwareName)
  899. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  900. Debug-Output "ShellCode error"
  901. goto ShellCodeError
  902. endif
  903. set RegistryErrorIndex = $($R0)
  904. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  905. goto fatalregistry
  906. endif
  907. else
  908. Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  909. $(ProductSoftwareName), $(!NTN_RegBase)
  910. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  911. Debug-Output "ShellCode error"
  912. goto ShellCodeError
  913. endif
  914. set RegistryErrorIndex = $($R0)
  915. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  916. goto fatalregistry
  917. endif
  918. endif
  919. goto end
  920. ;-----------------------------------------------
  921. ; Upgrade Software section
  922. ;-----------------------------------------------
  923. UpgradeSoftware = +
  924. ; Upgrade software component
  925. ;
  926. OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  927. Ifstr $(KeyProduct) != $(KeyNull)
  928. install "Install-Update"
  929. ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  930. goto fatal
  931. endif
  932. ; Upgrade the version number
  933. ;
  934. SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  935. SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  936. ;
  937. ; do nothing for update
  938. ;
  939. CloseRegKey $(KeyProduct)
  940. else
  941. ;
  942. ; Cannot Open software key, goto ERROR
  943. ;
  944. goto fatalregistry
  945. endif
  946. ;
  947. ; Enumerate all netcards installed of this type and update them
  948. ;
  949. set iSearch = 1
  950. nextnetcard = +
  951. Shell $(UtilityInf), FindNextNetworkCard, $(ProductHardwareName), $(iSearch)
  952. set KeyNetcard = $($R0)
  953. set iSearch = $($R1)
  954. Debug-Output "OemNadEp.Inf: FindNextNetworkCard "$(KeyNetcard)","$(iSearch)
  955. Ifstr $(KeyNetcard) != $(KeyNull)
  956. Debug-Output "OemNadEp.Inf: Setting OperationsSupport value"
  957. SetRegValue $(KeyNetcard) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
  958. CloseRegKey $(KeyNetcard)
  959. goto nextnetcard
  960. Endif
  961. goto end
  962. ;
  963. ; End of Upgrade Software
  964. ;
  965. ;
  966. ; Escape hatches
  967. ;
  968. successful = +
  969. goto end
  970. abandon = +
  971. ForListDo $(OEM_ABANDON_OPTIONS)
  972. Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  973. $(ProductSoftwareName), $($)
  974. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  975. Debug-Output "ShellCode error"
  976. goto ShellCodeError
  977. endif
  978. set RegistryErrorIndex = $($R0)
  979. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  980. goto fatalregistry
  981. endif
  982. EndForListDo
  983. Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  984. ; Remove Software Component
  985. Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  986. $(ProductSoftwareName), FALSE
  987. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  988. Debug-Output "ShellCode error"
  989. goto ShellCodeError
  990. endif
  991. set RegistryErrorIndex = $($R0)
  992. Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  993. goto fatalregistry
  994. endif
  995. endif
  996. goto end
  997. ;
  998. ; warning display
  999. ;
  1000. warning = +
  1001. Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1002. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1003. goto ShellCodeError
  1004. endif
  1005. ifstr(i) $($R1) == "OK"
  1006. goto $(to)
  1007. else-ifstr(i) $($R1) == "CANCEL"
  1008. goto $(from)
  1009. else
  1010. goto "end"
  1011. endif
  1012. ;
  1013. ; non fatal error display
  1014. ;
  1015. nonfatalinfo = +
  1016. Set Severity = STATUS
  1017. Set CommonStatus = STATUS_USERCANCEL
  1018. goto nonfatalmsg
  1019. nonfatal = +
  1020. Set Severity = NONFATAL
  1021. goto nonfatalmsg
  1022. nonfatalmsg = +
  1023. ifstr(i) $(Error) == ""
  1024. Set Severity = NONFATAL
  1025. Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1026. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1027. goto ShellCodeError
  1028. endif
  1029. set Error = $($R0)
  1030. endif
  1031. Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1032. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1033. goto ShellCodeError
  1034. endif
  1035. ifstr(i) $($R1) == "OK"
  1036. goto $(from)
  1037. else
  1038. goto "end"
  1039. endif
  1040. ;
  1041. ; Registry is broken
  1042. ;
  1043. fatalregistry = +
  1044. Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1045. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1046. goto ShellCodeError
  1047. endif
  1048. set Error = $($R0)
  1049. goto fatal
  1050. ;
  1051. ; Netcard detection failure
  1052. ;
  1053. fataldetect = +
  1054. Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  1055. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1056. Debug-Output "ShellCode error: cannot get an error string."
  1057. goto ShellCodeError
  1058. endif
  1059. set Error = $($R0)
  1060. Goto fatal
  1061. ;
  1062. ; fatal error display
  1063. ;
  1064. fatal = +
  1065. ifstr(i) $(Error) == ""
  1066. Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1067. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1068. goto ShellCodeError
  1069. endif
  1070. set Error = $($R0)
  1071. endif
  1072. Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1073. ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1074. goto ShellCodeError
  1075. endif
  1076. goto setfailed
  1077. ;
  1078. ; Shelling error
  1079. ;
  1080. ShellCodeError = +
  1081. set DlgType = "MessageBox"
  1082. set STF_MB_TITLE = $(ShellCodeErrorTitle)
  1083. set STF_MB_TEXT = $(ShellCodeErrorText)
  1084. set STF_MB_TYPE = 1
  1085. set STF_MB_ICON = 3
  1086. set STF_MB_DEF = 1
  1087. ui start "Error Message"
  1088. goto setfailed
  1089. setfailed = +
  1090. set CommonStatus = STATUS_FAILED
  1091. ;
  1092. ; if OEM_ABANDON_ON == TRUE, then remove the registry entries
  1093. ;
  1094. ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1095. set OEM_ABANDON_ON = FALSE
  1096. goto abandon
  1097. endif
  1098. goto end
  1099. end = +
  1100. goto term
  1101. term = +
  1102. Return $(CommonStatus)
  1103. [DebugConfiguration]
  1104. Set InfName = "oemnade3.INF"
  1105. Debug-Output $(InfName)" **CONFIGURATION STATE: "$($0)
  1106. Debug-Output $(InfName)" IOBaseAddrValue is "$(!p:IOBaseAddrValue)
  1107. return
  1108. ;***************************************************************
  1109. ; INSTALL SECTIONS
  1110. ;***************************************************************
  1111. [Install-Option]
  1112. set STF_VITAL = ""
  1113. ifstr(i) $(AddCopy) == "YES"
  1114. ;
  1115. ; Add the files to the copy list
  1116. ;
  1117. ; BUGBUG: eliminate the "nt2" in the next line when Sunil fixes
  1118. ; the other INF files
  1119. ;
  1120. AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1121. endif
  1122. ifstr(i) $(DoCopy) == "YES"
  1123. ;
  1124. ; Copy files in the copy list
  1125. ;
  1126. set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1127. CopyFilesInCopyList
  1128. endif
  1129. Exit
  1130. [Install-Update]
  1131. set STF_VITAL = ""
  1132. set STF_OVERWRITE = "VERIFYSOURCEOLDER"
  1133. ;set STF_VERSION = "YES"
  1134. AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1135. exit