OEMSETUP.INF Driver File Contents (lpc-01.zip)

;-----------------------------------------------------------------------
; OPTION TYPE
; -----------
; This identifies the Option type we are dealing with.  The different
; possible types are:
;
; COMPUTER, VIDEO, POINTER, KEYBOARD, LAYOUT, SCSI, TAPE, PRINTER, ...
;
; We are SCSI.
;-----------------------------------------------------------------------

[Identification]
OptionType = SCSI

;-----------------------------------------------------------------------
; LANGUAGES SUPPORTED
; -------------------
;
; The languages supported by the INF, For every language supported
; we need to have a separate text section for every displayable text
; section.
;
; We are ENGlish
;-----------------------------------------------------------------------

[LanguagesSupported]
ENG

;-----------------------------------------------------------------------
; OPTION LIST
; -----------
; This section lists the Option key names.  These keys are locale
; independent and used to represent the option in a locale independent
; manner.
;
;-----------------------------------------------------------------------

[Options]
"ACCENT" = Accent

;-----------------------------------------------------------------------
; OPTION TEXT SECTION
; -------------------
; These are text strings used to identify the option to the user.  There
; are separate sections for each language supported.  The format of the
; section name is "OptionsText" concatenated with the Language represented
; by the section (for example: "OptionsTextENG").
;
;-----------------------------------------------------------------------

[OptionsTextENG]
"ACCENT" = "Adtron Accent SCSI Miniport Driver"

;-----------------------------------------------------------------------
; SCSI MINIPORT DRIVERS:
;
; Order of the information:
;
; Class driver = Type, Group, ErrorControl, Tag, EventMessageFile, TypesSupported
;
; A preceeding '!' indicates a variable that may have been defined in another
; shell section (indicates global variables).
;-----------------------------------------------------------------------

[MiniportDrivers]
Accent = !SERVICE_KERNEL_DRIVER, "SCSI Miniport", !SERVICE_ERROR_NORMAL, 17, %SystemRoot%\System32\IoLogMsg.dll , 1

;***********************************************************************
; 1. Identify  (REQUIRED)
;
; DESCRIPTION:   To verify that this INF deals with the same type of
;                options and items as we have currently choosen.
;
; INPUT:         None
;
; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
;                $($R1): Option Type (COMPUTER SCSI etc)
;                $($R2): Diskette description
;***********************************************************************

[Identify]
Read-Syms Identification

set Status     = STATUS_SUCCESSFUL
set Identifier = $(OptionType)
set Media      = #("Source Media Descriptions", 1, 1)

Return $(Status) $(Identifier) $(Media)

;***********************************************************************
; 2. ReturnOptions  (REQUIRED)
;
; DESCRIPTION:   To return the option list supported by this INF and the
;                localised text list representing the options.
;
;
; INPUT:         $($0):  Language used. ( ENG | FRN | etc )
;
; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
;                                STATUS_NOLANGUAGE
;                                STATUS_FAILED
;
;                $($R1): Option List
;                $($R2): Option Text List
;***********************************************************************

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

;
; Check if the language requested is supported:
;
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
    goto returnoptions
else
    set Status = STATUS_NOLANGUAGE
    goto finish_ReturnOptions
endif

;....................................................

;
; Form a list of all the options and another of the text representing
; those options:
;
; ^(Options,0) ==> "ACCENT" (all the items from the first column of [Options])
; ^(OptionsTextENG,1) ==> "Adtron Accent SCSI Miniport Driver" (all the items
;                          from the second column of [OptionsTextENG])
;
returnoptions = +
    set OptionList     = ^(Options, 0)
    set OptionTextList = ^(OptionsText$($0), 1)
    set Status         = STATUS_SUCCESSFUL

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

;***********************************************************************
; 3. InstallOption  (REQUIRED)
;
; FUNCTION:  To copy files representing option(s)
;            To configure the installed option(s)
;            To update the registry for the installed option(s)
;
; INPUT:     $($0):  Language to use
;            $($1):  OptionID to install
;            $($2):  SourceDirectory
;            $($3):  AddCopy  (YES | NO)
;            $($4):  DoCopy   (YES | NO)
;            $($5):  DoConfig (YES | NO)
;
; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
;                            STATUS_NOLANGUAGE |
;                            STATUS_USERCANCEL |
;                            STATUS_FAILED
;***********************************************************************

[InstallOption]
;
; Set default values:
;
set Status = STATUS_FAILED
set DrivesToFree = {}

;
; Extract valued from passed-in parameters. This section is called
; after the [ReturnOptions] section.
;
; $0       ==> ENG
; Option   ==> ACCENT (ie, the OptionList of [ReturnOptions])
; SrcDir   ==> D:
; AddCopy  ==> YES
; DoCopy   ==> YES
; DoConfig ==> YES
;
set Option   = $($1)
set SrcDir   = $($2)
set AddCopy  = $($3)
set DoCopy   = $($4)
set DoConfig = $($5)

set SrcDir = "A:\WINNT"

;
; ---- Check if the requested language is supported -----------
;

set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
else
    set Status = STATUS_NOLANGUAGE
    goto finish_InstallOption
endif

Read-Syms Strings$($0)

;
; ---- Check to see if "Option" is supported ------------------
;
set OptionList = ^(Options, 0)
ifcontains $(Option) in $(OptionList)
else
    Debug-Output "SCSI.INF: SCSI option is not supported."
    goto finish_InstallOption
endif

set OptionList = ""

;
; ---- Option has already been defined ------------------------
;
; Take items from [MiniportDrivers] section:
; $(MiniportDriver) ==> Accent

set MiniportDriver   =   #(Options, $(Option), 1)

set Type             = $(#(MiniportDrivers, $(MiniportDriver), 1))
set Group            =   #(MiniportDrivers, $(MiniportDriver), 2)
set ErrorControl     = $(#(MiniportDrivers, $(MiniportDriver), 3))
set Tag              =   #(MiniportDrivers, $(MiniportDriver), 4)
set EventMessageFile =   #(MiniportDrivers, $(MiniportDriver), 5)
set TypesSupported   =   #(MiniportDrivers, $(MiniportDriver), 6)

set Start            =   $(!SERVICE_BOOT_START)

installtheoption = +

;
; ---- Code to add files to copy list -------------------------
;

ifstr(i) $(AddCopy) == "YES"
    set DoActualCopy = NO
    set FileToCheck = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
    ; This call should produce the [CURRENT NEW etc] dialog box:
    LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
    ifstr(i) $(STATUS) == NO
        set DoActualCopy = YES
    endif

    ifstr(i) $(DoActualCopy) == NO
        shell "subroutn.inf" DriversExist $($0) $(String1)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "SCSI.INF: shelling DriversExist failed"
            goto finish_InstallOption
        endif

        ifstr(i) $($R0) == STATUS_CURRENT
        else-ifstr(i) $($R0) == STATUS_NEW
            set DoActualCopy = YES
        else-ifstr(i) $($R0) == STATUS_USERCANCEL
            Debug-Output "SCSI.INF: User cancelled SCSI installation"
            goto finish_InstallOption
        else
            Debug-Output "SCSI.INF: Error reported in DriversExist routine in SUBROUTN.INF"
            goto finish_InstallOption
        endif
    endif

    ifstr(i) $(DoActualCopy) == YES
        shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
        ifint $($ShellCode) != $(!SHELL_CODE_OK)
            Debug-Output "SCSI.INF: shelling DoAskSourceEx failed"
            goto finish_InstallOption
        endif

        ; Observed return values:
        ; ......................
        ; $R0 ==> STATUS_SUCCESSFUL
        ; $R1 ==> A:\  (or whatever the user enters)
        ; $R2 ==> <blank, ie, "">

        ifstr(i) $($R0) == STATUS_SUCCESSFUL
            set SrcDir = $($R1)
            ifstr(i) $($R2) != ""
                set DrivesToFree = >($(DrivesToFree), $($R2))
            endif
        else
            Debug-Output "SCSI.INF: User cancelled asking source."
            goto finish_InstallOption
        endif

        ; Now call the install section that copies the list of files to
        ; be copied to the "Copy List".

        install Install-AddCopyOption
        ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
            Debug-Output "Adding SCSI files to copy list failed"
            goto finish_InstallOption
        endif
    else
        set DoCopy = NO
    endif

endif

;
; ---- Code to copy files from copy list ----------------------
;

ifstr(i) $(DoCopy) == "YES"
    Read-Syms ProgressCopy$($0)
    
    ; Invokde the install section that will actually copy the
    ; files specified on the "Copy List".
    
    install Install-DoCopyOption
    ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
        Debug-Output "Copying files failed"
        goto finish_InstallOption
    else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
        set Status = STATUS_USERCANCEL
        goto finish_InstallOption
    endif
endif

;
; ---- Code to configure registry -----------------------------
;

ifstr(i) $(DoConfig) == "YES"
    ;
    ; First run a privilege check on modifying the setup node:
    ;
    shell "registry.inf" CheckSetupModify
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        goto finish_InstallOption
    endif

    ifstr(i) $($R0) != STATUS_SUCCESSFUL
        goto finish_InstallOption
    endif

    ;
    ; Then make a new SCSI entry; the entry is created automatically
    ; enabled:
    ;
    set ServiceNode   = $(MiniportDriver)
    set ServiceBinary = System32\drivers\#(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
    
    ; $ServiceNode   ==> Accent
    ; $ServiceBinary ==> System32\drivers\AccentNT.sys

    set ServicesValues   = { +
            {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
            {Start,          0, $(!REG_VT_DWORD),     $(Start)                 }, +
            {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
            {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
            {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
            {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
            }

    ; Right in here, we must query the user for driver "command line" settings
    ; (equivalent to the Settings tab entry line under Windows 95):
    
    LoadLibrary "ACCENTNTMPD" $(SrcDir)accntinf.dll LibHandle
    LibraryProcedure AccentParms $(LibHandle) AccentConfig
    FreeLibrary $(LibHandle)

    set ParametersValues = {{Copyright, 0, $(!REG_VT_SZ), "(c) 1997 Adtron Corporation, All Rights Reserved"}}
    set DeviceValues     = {{DriverParameter, 0, $(!REG_VT_SZ), $(AccentParms)}}
    
    set EventLogValues   = { +
            {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
            {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
            }

    shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
                                            $(ServicesValues)   +
                                            $(ParametersValues) +
                                            $(DeviceValues)     +
                                            $(EventLogValues)   +
                                            Parameters

    ifint $($ShellCode) != $(!SHELL_CODE_OK)
        Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
        goto finish_InstallOption
    endif

    ifstr(i) $($R0) != STATUS_SUCCESSFUL
        Debug-Output "MakeServicesEntry failed for SCSI"
        goto finish_InstallOption
    endif

endif

;
; -------------------------------------------------------------
;

set Status = STATUS_SUCCESSFUL

finish_InstallOption = +
    ForListDo $(DrivesToFree)
        LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
    EndForListDo

    Return $(Status)

;***********************************************************************

[Install-AddCopyOption]
;
; Add the files to the copy list
;
;AddSectionFilesToCopyList Files-ScsiMiniportDrivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
AddSectionKeyFileToCopyList Files-ScsiMiniportDrivers      +
                            $(MiniportDriver)              +
                            $(SrcDir)                      +
                            $(!STF_WINDOWSSYSPATH)\drivers
exit

;***********************************************************************

[Install-DoCopyOption]
;
; Copy files in the copy list
;

CopyFilesInCopyList
exit

;***********************************************************************
; 4. DeInstallOption
;
; FUNCTION:  To remove files representing Option
;            To remove the registry entry corresponding to the Option
;
; INPUT:     $($0):  Language to use
;            $($1):  OptionID to de-install
;
; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
;                            STATUS_NOLANGUAGE |
;                            STATUS_USERCANCEL |
;                            STATUS_FAILED
;***********************************************************************

[DeInstallOption]
;
; Set default values:
;
set Status = STATUS_FAILED

;
; Extract valued from passed-in parameters:
;
set Option = $($1)

;
; Check if the requested language is supported:
;
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
else
    set Status = STATUS_NOLANGUAGE
    goto finish_DeInstallOption
endif

Read-Syms Strings$($0)

;
; Check to see if Option is supported:
;
set OptionList = ^(Options, 0)
ifcontains $(Option) in $(OptionList)
else
    goto finish_DeInstallOption
endif

set OptionList = ""

;
; Fetch details about option:
;
set MiniportDriver = #(Options, $(Option), 1)
set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)

;
; Check to see if file is installed; if not, give success:
;
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
ifstr(i) $(STATUS) == "NO"
    set Status = STATUS_SUCCESSFUL
    goto finish_DeInstallOption
endif

shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
    ; This could happen if there is no start value or there is no
    ; key, in which case the option is not installed:
    set Status = STATUS_SUCCESSFUL
    goto finish_DeInstallOption
endif

ifstr(i) $($R1) == $(!SERVICE_BOOT_START)
    ifstr(i) $($R0) != STATUS_SUCCESSFUL
        goto do_removal
    endif
    ifstr(i) $($R1) == "CANCEL"
        goto finish_DeInstallOption
    endif
endif

;.............................................

do_removal =+
;
; Disable the registry entry:
;
shell "registry.inf" RemoveServicesEntry $(MiniportDriver)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
    Debug-Output "SCSI.INF: Failed to shell RemoveServicesEntry"
    goto finish_DeInstallOption
endif

ifstr(i) $($R0) != STATUS_SUCCESSFUL
    Debug-Output "SCSI.INF: Failed to disable services entry"
    goto finish_DeInstallOption
endif

;.............................................

;
; We won't remove the file because we can only do so during the next boot.
; If the user chooses to reinstall the same driver during this boot
; he will still end up deleting the driver on next boot. If the file
; should be deleted, a warning should be put up saying that the user should
; not try to reinstall the driver during this boot:
;
;    AddFileToDeleteList $(FilePath)

set Status = STATUS_SUCCESSFUL

finish_DeInstallOption =+
    return $(Status)

;*************************************************************************
; 5. GetInstalledOptions
;
; FUNCTION:  To find out the list of options which are installed
;
; INPUT:     $($0): Language to Use
;
; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
;                            STATUS_FAILED
;
;            $($R1): List of options installed
;            $($R2): Option installed Text List
;*************************************************************************

[GetInstalledOptions]
set Status = STATUS_FAILED
set InstalledOptions = {}
set InstalledOptionsText = {}

;
; Check if the requested language is supported:
;
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
else
    set Status = STATUS_NOLANGUAGE
    goto finish_GetInstalledOptions
endif

set OptionList = ^(Options, 0)
ForListDo $(OptionList)
    set MiniportDriver = #(Options, $($), 1)
    set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
    set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
    LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
    ifstr(i) $(STATUS) == "YES"
        shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
        ifint $($ShellCode) == $(!SHELL_CODE_OK)
            ifstr(i) $($R0) == STATUS_SUCCESSFUL
                ifstr(i) $($R1) != $(!SERVICE_DISABLED)
                    set OptionText = #(OptionsText$($0), $($), 1)
                    set InstalledOptions     = >($(InstalledOptions), $($))
                    set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
                endif
            endif
        endif
    endif
EndForListDo

set Status = STATUS_SUCCESSFUL

finish_GetInstalledOptions =+
    Return $(Status) $(InstalledOptions) $(InstalledOptionsText)


;*************************************************************************
; Progress Gauge Variables
;*************************************************************************

[ProgressCopyENG]
ProCaption   = "Accent Setup"
ProCancel    = "Cancel"
ProCancelMsg = "Accent is not correcly installed.  Are you sure you want "+
               "to cancel copying files?"
ProCancelCap = "Setup Message"
ProText1     = "Copying:"
ProText2     = "To:"

; -------------------------------------------------------------

[StringsENG]
String1 = "Accent SCSI Miniport Driver"
String2 = "Please enter the full path to the Accent "+
          "device driver files.  Then choose Continue."
String3 = "The Accent driver has been marked as a boot device.  Removing "+
          "it may cause the system not to boot."$(!LF)$(!LF)"Are you sure "+
          "you want to remove the Accent."

; -------------------------------------------------------------

[Source Media Descriptions]
1  = "ACCENTNTMPD" , TAGFILE = \WINNT\ACCNTKY

; -------------------------------------------------------------

[Files-ScsiMiniportDrivers]
Accent = 1 , ACCENTNT.SYS , SIZE=48000
Download Driver Pack

How To Update Drivers Manually

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

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

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

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

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

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

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

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

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

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

server: web1, load: 0.90