⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oemsetup.inf

📁 一份很好的USB开发资料
💻 INF
📖 第 1 页 / 共 2 页
字号:
	set ServiceBinary = System32\drivers\#(Files-ScsiMiniportDrivers, $(FilterDriver), 2)

	set ServicesValues   = { +
		{Type,           0, $(!REG_VT_DWORD),     $(FdType)                  }, +
		{Start,          0, $(!REG_VT_DWORD),     $(FdStart)                 }, +
		{Group,          0, $(!REG_VT_SZ),        $(FdGroup)                 }, +
		{ErrorControl,   0, $(!REG_VT_DWORD),     $(FdErrorControl)          }, +
		{Tag,            0, $(!REG_VT_DWORD),     $(FdTag)                   }, +
		{BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
		}
	set ParametersValues = ""
	set DeviceValues     = {}
	set EventLogValues   = { +
		{EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
		{TypesSupported,   0, $(!REG_VT_DWORD),     $(FdTypesSupported)   }  +
		}

	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


;
; Registry setup for rescan driver.
;
	set ServiceNode   = $(FilterDriver1)
	set ServiceBinary = System32\drivers\#(Files-ScsiMiniportDrivers, $(FilterDriver1), 2)

	set ServicesValues   = { +
		{Type,           0, $(!REG_VT_DWORD),     $(FdType1)                  }, +
		{Start,          0, $(!REG_VT_DWORD),     $(FdStart1)                 }, +
		{Group,          0, $(!REG_VT_SZ),        $(FdGroup1)                 }, +
		{ErrorControl,   0, $(!REG_VT_DWORD),     $(FdErrorControl1)          }, +
		{Tag,            0, $(!REG_VT_DWORD),     $(FdTag1)                   }, +
		{BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
		}
	set ParametersValues = ""
	set DeviceValues     = {}
	set EventLogValues   = { +
		{EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
		{TypesSupported,   0, $(!REG_VT_DWORD),     $(FdTypesSupported1)   }  +
		}

	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
    ;
    AddSectionKeyFileToCopyList   Files-ScsiMiniportDrivers         +
				  $(MiniportDriver)                 +
				  $(SrcDir)                      +
				  $(!STF_WINDOWSSYSPATH)\drivers

    AddSectionKeyFileToCopyList   Files-ScsiMiniportDrivers         +
				  $(FilterDriver)                 +
				  $(SrcDir)                      +
				  $(!STF_WINDOWSSYSPATH)\drivers

    AddSectionKeyFileToCopyList   Files-ScsiMiniportDrivers         +
				  $(FilterDriver1)                 +
				  $(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 install
;
; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
;                            STATUS_NOLANGUAGE |
;                            STATUS_USERCANCEL |
;                            STATUS_FAILED
;-------------------------------------------------------------------------
[DeInstallOption]

    ;
    ; Set default values for
    ;
    set Status   = STATUS_FAILED
    ;
    ; extract parameters
    ;
    set Option   = $($1)
    set Option2  = "VIK_TIMEOUT"
    set Option1  = "VIK_RESCAN"

    ;
    ; Check if the language requested 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)
    
    set FilterDriver   = #(Options, $(Option2), 1)
    set FilterFile     = #(Files-ScsiMiniportDrivers, $(FilterDriver), 2)
    set FilterFilePath = $(!STF_WINDOWSSYSPATH)"\drivers\"$(FilterFile)

    set FilterDriver1  = #(Options, $(Option1), 1)
    set FilterFile     = #(Files-ScsiMiniportDrivers, $(FilterDriver1), 2)
    set FilterFilePath = $(!STF_WINDOWSSYSPATH)"\drivers\"$(FilterFile1)


    ;
    ; check to see if file is installed
    ; if not give success
    ;

    LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
    ifstr(i) $(STATUS) == "NO"

	;
	; Check to see if filter driver is installed. If not, return success.
	;

	LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilterFilePath)
	ifstr(i) $(STATUS) == "NO"
	    set Status = STATUS_SUCCESSFUL
	    goto finish_DeInstallOption
	endif
    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
	; Check if Filter Driver is configured.

	shell "registry.inf" GetServicesEntryStart $(FilterDriver)
	ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
	    set Status = STATUS_SUCCESSFUL
	    goto finish_DeInstallOption
	endif

	shell "registry.inf" GetServicesEntryStart $(FilterDriver1)
	ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
	    set Status = STATUS_SUCCESSFUL
	    goto finish_DeInstallOption
	endif


	goto remove_filter

    endif

    ifstr(i) $($R1) == $(!SERVICE_BOOT_START)
	shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "WARNING" $(String3)
	ifstr(i) $($R0) != STATUS_SUCCESSFUL
	    goto remove_miniport
	endif
	ifstr(i) $($R1) == "CANCEL"
	    goto finish_DeInstallOption
	endif
    endif

remove_miniport =+
    ;
    ; disable the registry entries
    ;

    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

remove_filter =+

    shell "registry.inf" RemoveServicesEntry $(FilterDriver)
    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


    shell "registry.inf" RemoveServicesEntry $(FilterDriver1)
    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 language requested 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)
	ifstr $($) == "VIK_TIMEOUT"
	    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
	endif
    EndForListDo
    set Status = STATUS_SUCCESSFUL
finish_GetInstalledOptions =+
    Return $(Status) $(InstalledOptions) $(InstalledOptionsText)


;**************************************************************************
; PROGRESS GUAGE VARIABLES
;**************************************************************************

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

[StringsENG]
    String1 = "SCSI Adapter"
    String2 = "Please enter the full path to Commuter's installation files."$(!LF)$(!LF)+
	      "These files are located in \WINNT directory on the "+
		    "Commuter PCMCIA ATA/ATAPI Set diskette."
    String3 = "The SCSI Adapter 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 Adapter."

[Source Media Descriptions]
    1  = "Commuter PCMCIA ATA/ATAPI for Windows NT OEMSETUP.INF"  , TAGFILE = \winnt\disk1

[Files-ScsiMiniportDrivers]
	pcmatapi = 1, pcmatapi.sys,  SIZE=251850
	pc_card = 1, pc_card.sys, SIZE=2976
	Atdisk  = 1, atdisk.sys, SIZE=3296

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -