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