home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 July / VPR9707B.ISO / DRIVER / IODATA / DRV130 / DISK.EXE / WINNT35 / OEMSETUP.INF < prev    next >
INI File  |  1995-10-16  |  20KB  |  583 lines

  1. ;-----------------------------------------------------------------------
  2. ; Windows NT 3.5 Display Driver for I-O DATA GA-DRVx/PCI 
  3. ;-----------------------------------------------------------------------
  4. ; OPTION TYPE
  5. ; -----------
  6. ; This identifies the Option type we are dealing with.  The different
  7. ; possible types are:
  8. ;
  9. ; COMPUTER, VIDEO, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  10. ;-----------------------------------------------------------------------
  11.  
  12. [Identification]
  13.     OptionType = VIDEO
  14.  
  15. ;-----------------------------------------------------------------------
  16. ; LANGUAGES SUPPORTED
  17. ; -------------------
  18. ;
  19. ; The languages supported by the OEM INF, For every language supported
  20. ; we need to have a separate text section for every displayable text
  21. ; section.
  22. ;
  23. ;-----------------------------------------------------------------------
  24.  
  25. [LanguagesSupported]
  26.     ENG
  27.  
  28. ;-----------------------------------------------------------------------
  29. ; OPTION LIST
  30. ; -----------
  31. ; This section lists the OEM Option key names.  These keys are locale
  32. ; independent and used to represent the option in a locale independent
  33. ; manner.
  34. ;
  35. ;-----------------------------------------------------------------------
  36.  
  37. ;
  38. ; Option list order: Option = Miniport driver, BitsPerPel, XResolution, YResolution, VRefresh, Interlaced
  39. ;
  40. ; If you don't want to create a VRefresh or Interlaced value under the service
  41. ; parameters then use the value ""
  42. ;
  43.  
  44. [Options]
  45.     "I-O DATA GA-DRVx/PCI"    = drag,    8, 640,  480, 60 , 0
  46.  
  47. ;
  48. ; This maps detected options into the options we support
  49. ;
  50. ; Format: DetectedOption = MappedOption
  51. ;
  52.  
  53. [MapOfOptions]
  54.     "VGA"                       = "VGA"
  55.     "COMPAQ AVGA"               = "VGA"
  56.     "COMPAQ AGB"                = "VGA"
  57.     "8514 MONITOR UNKNOWN"      = "VGA"
  58.     "8514 VGA MONITOR"          = "VGA"
  59.     "8514 8503 MONO"            = "VGA"
  60.     "8514 8514 GAD"             = "VGA"
  61.     "GENOA VGA"                 = "VGA"
  62.     "VIDEO7 VGA DRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  63.     "VIDEO7 VGA VRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  64.     "Trident VGA"               = "VGA"
  65.     "Trident VGA 9100"          = "VGA"
  66.     "PARADISE VGA"              = "VGA"
  67.     "PARADISE VGA PROM"         = "VGA"
  68.     "PARADISE VGA CHIP 1F"      = "VGA"
  69.     "ATI VGA"                   = "VGA"
  70.     "ATI VGA WONDDER3"          = "VGA"
  71.     "TSENGLAB VGA ET3000"       = "VGA"
  72.     "TSENGLAB VGA ET4000"       = "TSENGLAB VGA ET4000 640x480x4x60"
  73.     "CIRRUS VGA"                = "VGA"
  74.     "CIRRUS VGA 610-620 REVC"   = "VGA"
  75.     "XGA"                       = "XGA 640x480x8"
  76.     "DELL DGX"                  = "DELL DGX 640x480x8"
  77.     "S3 VGA"                    = "S3 VGA 640x480x8"
  78.     "PRODESIGNER II"            = "TSENGLAB VGA ET4000 640x480x4x60"
  79.  
  80.  
  81. ;
  82. ; Order of the information:
  83. ;
  84. ; Port driver = Type, Group, ErrorControl, Tag, InstalledDisplay, VgaCompatible( 0/1 ), EventMessageFile, TypesSupported
  85. ;
  86.  
  87. [MiniportDrivers]
  88. ;  drag = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 11,  {drag256}, 1 , %SystemRoot%\System32\IoLogMsg.dll , 7
  89.   drag = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 11,  {drag256,drag64k,drag16m}, 1 , %SystemRoot%\System32\IoLogMsg.dll , 7
  90.  
  91.  
  92. ;-----------------------------------------------------------------------
  93. ; OPTION TEXT SECTION
  94. ; -------------------
  95. ; These are text strings used to identify the option to the user.  There
  96. ; are separate sections for each language supported.  The format of the
  97. ; section name is "OptionsText" concatenated with the Language represented
  98. ; by the section.
  99. ;
  100. ;-----------------------------------------------------------------------
  101.  
  102. [OptionsTextENG]
  103.     "I-O DATA GA-DRVx/PCI"    = "I-O DATA GA-DRVx/PCI"
  104.  
  105.  
  106. ;---------------------------------------------------------------------------
  107. ; 1. Identify
  108. ;
  109. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  110. ;                as we are choosing currently.
  111. ;
  112. ; INPUT:         None
  113. ;
  114. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  115. ;                $($R1): Option Type (COMPUTER ...)
  116. ;                $($R2): Diskette description
  117. ;---------------------------------------------------------------------------
  118.  
  119. [Identify]
  120.     ;
  121.     ;
  122.     read-syms Identification
  123.  
  124.     set Status     = STATUS_SUCCESSFUL
  125.     set Identifier = $(OptionType)
  126.     set Media      = #("Source Media Descriptions", 1, 1)
  127.  
  128.     Return $(Status) $(Identifier) $(Media)
  129.  
  130.  
  131.  
  132. ;------------------------------------------------------------------------
  133. ; 2. ReturnOptions:
  134. ;
  135. ; DESCRIPTION:   To return the option list supported by this INF and the
  136. ;                localised text list representing the options.
  137. ;
  138. ;
  139. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  140. ;
  141. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  142. ;                                STATUS_NOLANGUAGE
  143. ;                                STATUS_FAILED
  144. ;
  145. ;                $($R1): Option List
  146. ;                $($R2): Option Text List
  147. ;------------------------------------------------------------------------
  148.  
  149. [ReturnOptions]
  150.     ;
  151.     ;
  152.     set Status        = STATUS_FAILED
  153.     set OptionList     = {}
  154.     set OptionTextList = {}
  155.  
  156.     ;
  157.     ; Check if the language requested is supported
  158.     ;
  159.     set LanguageList = ^(LanguagesSupported, 1)
  160.     Ifcontains(i) $($0) in $(LanguageList)
  161.         goto returnoptions
  162.     else
  163.         set Status = STATUS_NOLANGUAGE
  164.         goto finish_ReturnOptions
  165.     endif
  166.  
  167.     ;
  168.     ; form a list of all the options and another of the text representing
  169.     ;
  170.  
  171. returnoptions = +
  172.     set OptionList     = ^(Options, 0)
  173.     set OptionTextList = ^(OptionsText$($0), 1)
  174.     set Status         = STATUS_SUCCESSFUL
  175.  
  176. finish_ReturnOptions = +
  177.     Return $(Status) $(OptionList) $(OptionTextList)
  178.  
  179.  
  180.  
  181. ;---------------------------------------------------------------------------
  182. ; MapToSupportedOption
  183. ;
  184. ; DESCRIPTION:   To map a hardware detected option to the NT Supported
  185. ;                option which represents it.
  186. ;
  187. ; INPUT:         $($0): Option
  188. ;
  189. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  190. ;                $($R1): Mapped Option
  191. ;
  192. ;---------------------------------------------------------------------------
  193.  
  194. [MapToSupportedOption]
  195.     ;
  196.     set Status = STATUS_FAILED
  197.     set MappedOption = $($0)
  198.  
  199.     ;
  200.     ; If the option is one we can support using one of our standard options
  201.     ; then map it to the standard option else map it to the default option
  202.     ; which is VGA.
  203.     ;
  204.  
  205.     set OptionList = ^(MapOfOptions, 0)
  206.     ifcontains $($0) in $(OptionList)
  207.         set MappedOption = #(MapOfOptions, $($0), 1)
  208.     else
  209.         set MappedOption = "VGA"
  210.     endif
  211.  
  212.     set Status = STATUS_SUCCESSFUL
  213.     Return $(Status) $(MappedOption)
  214.  
  215.  
  216.  
  217. [ServicesEntry]
  218.     CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
  219.  
  220.  
  221. ;
  222. ; InstallOption:
  223. ;
  224. ; FUNCTION:  To copy files representing Options
  225. ;            To configure the installed option
  226. ;            To update the registry for the installed option
  227. ;
  228. ; INPUT:     $($0):  Language to use
  229. ;            $($1):  OptionID to install
  230. ;            $($2):  SourceDirectory
  231. ;            $($3):  AddCopy  (YES | NO)
  232. ;            $($4):  DoCopy   (YES | NO)
  233. ;            $($5):  DoConfig (YES | NO)
  234. ;
  235. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  236. ;                            STATUS_NOLANGUAGE |
  237. ;                            STATUS_USERCANCEL |
  238. ;                            STATUS_FAILED
  239. ;
  240.  
  241. [InstallOption]
  242.  
  243.     ;
  244.     ; Set default values for
  245.     ;
  246.     set Status       = STATUS_FAILED
  247.     set DrivesToFree = {}
  248.  
  249.     ;
  250.     ; extract parameters
  251.     ;
  252.     set Option   = $($1)
  253.     set SrcDir   = $($2)
  254.     set AddCopy  = $($3)
  255.     set DoCopy   = $($4)
  256.     set DoConfig = $($5)
  257.  
  258.     ;
  259.     ; Check if the language requested is supported
  260.     ;
  261.     set LanguageList = ^(LanguagesSupported, 1)
  262.     Ifcontains(i) $($0) in $(LanguageList)
  263.     else
  264.         set Status = STATUS_NOLANGUAGE
  265.         goto finish_InstallOption
  266.     endif
  267.     read-syms Strings$($0)
  268.  
  269.     ;
  270.     ; check to see if Option is supported.
  271.     ;
  272.  
  273.     set OptionList = ^(Options, 0)
  274.     ifcontains $(Option) in $(OptionList)
  275.     else
  276.         goto finish_InstallOption
  277.     endif
  278.     set OptionList = ""
  279.  
  280.     ;
  281.     ; Option has been defined already
  282.     ;
  283.     set MiniportDriver    = #(Options, $(Option), 1)
  284.     set BitsPerPel        = #(Options, $(Option), 2)
  285.     set XResolution       = #(Options, $(Option), 3)
  286.     set YResolution       = #(Options, $(Option), 4)
  287.     set VRefresh          = #(Options, $(Option), 5)
  288.     set Interlaced        = #(Options, $(Option), 6)
  289.     set FrameBufferAddress = 60
  290.  
  291.     set Type              = $(#(MiniportDrivers, $(MiniportDriver), 1))
  292.     set Group             =   #(MiniportDrivers, $(MiniportDriver), 2)
  293.     set ErrorControl      = $(#(MiniportDrivers, $(MiniportDriver), 3))
  294.     set Tag               =   #(MiniportDrivers, $(MiniportDriver), 4)
  295.     set InstalledDisplays =   #(MiniportDrivers, $(MiniportDriver), 5)
  296.     set VgaCompatible     =   #(MiniportDrivers, $(MiniportDriver), 6)
  297.     set EventMessageFile  =   #(MiniportDrivers, $(MiniportDriver), 7)
  298.     set TypesSupported    =   #(MiniportDrivers, $(MiniportDriver), 8)
  299.  
  300.     read-syms ServicesEntry
  301.     detect    ServicesEntry
  302.  
  303. installtheoption = +
  304.  
  305.     ;
  306.     ; Code to add files to copy list
  307.     ;
  308.  
  309.     ifstr(i) $(AddCopy) == "YES"
  310.         set DoActualCopy = NO
  311.         set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  312.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  313.         ifstr(i) $(STATUS) == NO
  314.             set DoActualCopy = YES
  315.             goto addfiles
  316.         endif
  317.         ForListDo $(InstalledDisplays)
  318.             set FileToCheck = #(Files-DisplayDLLs, $($), 2)
  319.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  320.             ifstr(i) $(STATUS) == NO
  321.                 set DoActualCopy = YES
  322.             endif
  323.         EndForListDo
  324.  
  325. addfiles = +
  326.         ifstr(i) $(DoActualCopy) == NO
  327.             shell "subroutn.inf" DriversExist $($0) $(String1)
  328.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  329.                 Debug-Output "VIDEO.INF: shelling DriversExist failed"
  330.                 goto finish_InstallOption
  331.             endif
  332.  
  333.             ifstr(i) $($R0) == STATUS_CURRENT
  334.             else-ifstr(i) $($R0) == STATUS_NEW
  335.                 set DoActualCopy = YES
  336.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  337.                 Debug-Output "VIDEO.INF: User cancelled video installation"
  338.                 goto finish_InstallOption
  339.             else
  340.                 Debug-Output "VIDEO.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  341.                 goto finish_InstallOption
  342.             endif
  343.         endif
  344.  
  345.         ifstr(i) $(DoActualCopy) == YES
  346.  
  347.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  348.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  349.                 Debug-Output "VIDEO.INF: shelling DoAskSourceEx failed"
  350.                 goto finish_InstallOption
  351.             endif
  352.  
  353.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  354.                 set SrcDir = $($R1)
  355.                 ifstr(i) $($R2) != ""
  356.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  357.                 endif
  358.             else
  359.                 Debug-Output "VIDEO.INF: User cancelled asking source."
  360.                 goto finish_InstallOption
  361.             endif
  362.  
  363.             install Install-AddCopyOption
  364.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  365.                 Debug-Output "VIDEO.INF: Adding video files to copy list failed"
  366.                 goto finish_InstallOption
  367.             endif
  368.         else
  369.             set DoCopy = NO
  370.         endif
  371.  
  372.     endif
  373.  
  374.     ifstr(i) $(DoCopy) == "YES"
  375.         read-syms ProgressCopy$($0)
  376.         install Install-DoCopyOption
  377.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  378.             Debug-Output "Copying files failed"
  379.             goto finish_InstallOption
  380.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  381.             set Status = STATUS_USERCANCEL
  382.             goto finish_InstallOption
  383.         endif
  384.     endif
  385.  
  386.     ifstr(i) $(DoConfig) == "YES"
  387.  
  388.         ;
  389.         ; first run a privilege check on modifying the setup node
  390.         ;
  391.  
  392.         shell "registry.inf" CheckSetupModify
  393.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  394.             goto finish_InstallOption
  395.         endif
  396.  
  397.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  398.             goto finish_InstallOption
  399.         endif
  400.  
  401.         ;
  402.         ; first make a new video entry, the entry is created automatically
  403.         ; enabled
  404.         ;
  405.  
  406.         set ServiceNode   = $(MiniportDriver)
  407.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  408.  
  409.         set ServicesValues   = { +
  410.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  411.                 {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
  412.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  413.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  414.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  415.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  416.                 }
  417.  
  418.         set ParametersValues = { +
  419.                 {InstalledDisplayDrivers,     0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
  420.                 {VgaCompatible,               0, $(!REG_VT_DWORD),    $(VgaCompatible)     }, +
  421.                 {DefaultSettings.BitsPerPel,  0, $(!REG_VT_DWORD),    $(BitsPerPel)        }, +
  422.                 {DefaultSettings.XResolution, 0, $(!REG_VT_DWORD),    $(XResolution)       }, +
  423.                 {DefaultSettings.YResolution, 0, $(!REG_VT_DWORD),    $(YResolution)       }  +
  424.                 {DefaultSettings.FrameBuffer, 0, $(!REG_VT_DWORD),    $(FrameBufferAddress)}  +
  425.                 }
  426.  
  427.         ifstr(i) $(VRefresh) != ""
  428.             set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)}
  429.             set ParametersValue = >($(ParametersValue), $(VRefreshValue))
  430.         endif
  431.  
  432.         ifstr(i) $(Interlaced) != ""
  433.             set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)}
  434.             set ParametersValue = >($(ParametersValue), $(InterlacedValue))
  435.         endif
  436.  
  437.         set DeviceValues     = {}
  438.         set EventLogValues   = { +
  439.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  440.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  441.                 }
  442.  
  443.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  444.                                                 $(ServicesValues)   +
  445.                                                 $(ParametersValues) +
  446.                                                 $(DeviceValues)     +
  447.                                                 $(EventLogValues)   +
  448.                                                 Device0
  449.  
  450.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  451.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  452.             goto finish_InstallOption
  453.         endif
  454.  
  455.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  456.             Debug-Output "MakeServicesEntry failed for video"
  457.             goto finish_InstallOption
  458.         endif
  459.  
  460.         ;
  461.         ;
  462.         ; then disable the previous video entry
  463.         ;
  464.  
  465.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  466.             ifstr(i) $(CurrentEntry) != VGA
  467.                 ifstr(i) $(CurrentEntry) != ""
  468.                     shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
  469.  
  470.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  471.                         Debug-Output "Couldn't find DisableServicesEntry in registry.inf"
  472.                         goto errorconfig
  473.                     endif
  474.  
  475.                     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  476.                         Debug-Output "DisableServices entry failed"
  477.                     endif
  478.                 endif
  479.             endif
  480.         endif
  481.  
  482.         goto configdone
  483.  
  484. errorconfig = +
  485.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  486.             shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
  487.             ifstr(i) $(CurrentEntry) != ""
  488.                 shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
  489.             endif
  490.         endif
  491.         goto finish_InstallOption
  492.  
  493. configdone = +
  494.  
  495.     endif
  496.  
  497.     set Status = STATUS_SUCCESSFUL
  498.  
  499. finish_InstallOption = +
  500.     ForListDo $(DrivesToFree)
  501.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  502.     EndForListDo
  503.  
  504.     Return $(Status)
  505.  
  506.  
  507. [Install-AddCopyOption]
  508.  
  509.     set STF_VITAL = ""
  510.     ;
  511.     ; Add the files to the copy list
  512.     ;
  513.     AddSectionKeyFileToCopyList   Files-DisplayMiniportDrivers   +
  514.                                   $(MiniportDriver)              +
  515.                                   $(SrcDir)                      +
  516.                                   $(!STF_WINDOWSSYSPATH)\drivers
  517.  
  518.     ForListDo $(InstalledDisplays)
  519.         AddSectionKeyFileToCopyList   Files-DisplayDLLs          +
  520.                                       $($)                       +
  521.                                       $(SrcDir)                  +
  522.                                       $(!STF_WINDOWSSYSPATH)
  523.  
  524.     EndForListDo
  525.  
  526.     exit
  527.  
  528.  
  529. [Install-DoCopyOption]
  530.  
  531.     ;
  532.     ; Copy files in the copy list
  533.     ;
  534.     CopyFilesInCopyList
  535.     exit
  536.  
  537. ;**************************************************************************
  538. ; PROGRESS GUAGE VARIABLES
  539. ;**************************************************************************
  540.  
  541. [ProgressCopyENG]
  542.     ProCaption   = "Windows NT セットアップ"
  543.     ProCancel    = "キャンセル"
  544.     ProCancelMsg = "Windows NT は正しく組み込まれていません。"+
  545.                    "ファイルのコピーを中止しますか?"
  546.     ProCancelCap = "セットアップ メッセージ"
  547.     ProText1     = "コピー元:"
  548.     ProText2     = "コピー先:"
  549.  
  550. [StringsENG]
  551.     String1 = "ディスプレイ"
  552.     String2 = "Windows ディスプレイドライバファイルのパス名を入力してください。"+
  553.               "その後、[続行]を押します。"
  554.  
  555.  
  556. ;-----------------------------------------------------------------------
  557. ; SOURCE MEDIA DESCRIPTIONS
  558. ; -------------------------
  559. ; The OEM should list all the diskette labels here.  The source media
  560. ; description is used during copy to prompt the user for a diskette
  561. ; if the source is diskettes.
  562. ;
  563. ; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
  564. ;     2 = "Diskette 2 Label" , TAGFILE = disk2
  565. ;     ...
  566. ;-----------------------------------------------------------------------
  567.  
  568. ;--------------------------------------------------------------------
  569. ; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
  570. ; SPREAD SHEETS
  571. ;--------------------------------------------------------------------
  572.  
  573. [Source Media Descriptions]
  574.     1  = 
  575.  
  576. [Files-DisplayDLLs]
  577. drag256 = 1,drag256.dll , SIZE=999
  578. drag64k = 1,drag64k.dll , SIZE=999
  579. drag16m = 1,drag16m.dll , SIZE=999
  580.  
  581. [Files-DisplayMiniportDrivers]
  582. drag = 1,drag.sys , SIZE=999
  583.