文档库 最新最全的文档下载
当前位置:文档库 › DDK中INF文件详解

DDK中INF文件详解

DDK中INF文件详解
DDK中INF文件详解

安装一个驱动程序

一个后缀是INF的文本文件控制设备驱动程序自动的安装。INF格式类似于WIN 3.x下的老式的.INI文件,但是复杂些。一个INF文件允许自动的或者在对话框的帮助下安装驱动程序文件。

驱动程序安装结束后对系统产生两个持久的影响:

1. 描述驱动程序的系统注册表入口,它的加载顺序和任何适当的配置数据。

2. 驱动程序文件被拷贝到适当的系统路径。

INF文件是影响这些改变的标准的机制,它可以提供定制安装。

使用INF文件自动安装

INF文件随着硬件和驱动程序一起提供,INF文件的结构和内容是驱动程序作者的责任。INF文件结构

INF文件是被分(section)成几个部分的文本文件,每个部分被指定一个标识符号﹐它被中括号([])括起来﹒一些部分的命名是必须的﹐而其它部分是驱动程序特定的﹒每个部分是一些安装动作﹐或者连接或者列举其它部分﹒

文件中各个部分的顺序是不重要的﹐因为每个部分都是被命名和连接的﹒一个部分继续直到另一个部分或者遇到文件结束﹒每个部分的标识符号是独一无二的名字﹐为了保持与WIN98的兼容﹐它的长度被限制在28个字符之内﹐可以包含下划线和圆点字符﹐在引用整个名字的前提下﹐可以包含空格字符﹒

文件内容的一般格式如下:

entry = value [, value...]

entry是指令﹐关键词或者文件名﹐value是entry被应用的属性﹒

entry或者value名字可以指定为一个使用百分号(%)的代替一些具体数据的字符串﹐分割INF文件的[Strings]提供一个特殊语言ID的值。

Version 部分

一个有效的INF文件从一个命名为[Version]的部分开始,它像一个INF文件的头和标识。

表15.1. [Version]部分的条目

Manufacturers部分

另一个必须的部分是[Manufacturers]﹐这个部分的条目列出了可以使用这个INF文件安装的设备和驱动程序﹐条目的形式是:

manufacturer=model

manufacturer列出被安装的硬件的制造商的INF文件的唯一名字﹒model提供指向INF 文件中另一个进一步安装这个模型的部分的指针﹐

Models 部分

罗列在[Manufacturers]部分的每一个模型﹐在文件中必须有相应的部分﹐model部分的每个条目的形式是:

device-description=install-section-name,hw-id[,compatible-id...]

device-description描述了设备模型的列表和一个短描述﹒这个字符串在安装的时候在对话框中提供给用户﹐因此它需要提供多种语言的文本﹒

install-section-name的值参考[DDInstall]部分﹐也描述了INF文件的另一个进一步安装的部分﹒hw-id是硬件设备在PnP兼容的总线上声明的时候返回的PnP标识符号﹒例如﹐USB\VID_045E&PID_00B标识微软HID(Human Input Device)的USB键盘设备﹒compatible-id可以是任何表示用于任何的包含在列表中的相同安装脚本的数值﹒DDInstall 部分

它的名字独一无二的指定从[Models]部分列出的每个制造商的每个模型﹐

AddReg条目在语法上是必须的﹐CopyFiles条目对于[DDInstall]部分是重要的﹐它的形式是:

CopyFiles=file-list-section[,file-list-section...] 或者

CopyFiles=@filename

前者是更普通的版本﹐它允许一个指向另一个包含一个安装文件列表的部分的指针﹒然而对于简单的驱动程序的安装﹐可以直接的使用文件名﹒

表15.2. [DDInstall]部分条目

CopyFiles部分

INF文件的[CopyFiles]部分是唯一的名字并且CopyFiles的指示器在[DDInstall]部分﹐它的条目的形式是: destination-filename[,source-filename,temp-filename,flag]

表15.3. CopyFiles flag的定义

destination-filename是需要复制的文件名﹐如果与源文件名不同﹐source-filename 必须被指定﹐temp-filename在WIN98中是为新文件指定一个中间的文件名直到系统重新激活﹐对于WIN2000来说﹐它是无用的﹒

flag值指定新的目标文件的部署﹒这些值可以OR起来使它有多个性质﹒应该确认没有互斥的项目﹒

因为[CopyFiles]条目的语法不包含指定源文件的磁盘或者路径选项﹐所以﹐必须使用其它的INF文件的部分[SourceDisksNames]和[SourceDisksFiles]﹒[CopyFiles]是复制的源文件名﹐复制的目标则在[DestinationDirs]部分﹒

AddReg部分

INF文件的[AddReg]部分是唯一的名字﹐并且引用AddReg的指示器在[DDInstall]部分﹒这个部分的目的是提供在系统注册表中添加或者修改条目﹐形式是﹕

reg-root[,subkey,value-name,flags,value]

reg-root是注册表根的缩写﹐子键描述根键下的键名﹐使用反斜线字符(\)分开子键﹒例如﹐Software\W2KDriverBook\ Driver\Setting是有效的HKCU或者HKLM根键的子键﹒

表15.4. AddReg reg-root缩写的意义

value-name指定被添加或者修改注册表值﹒每个系统注册表键包含零个或者多个不同数据类型的值﹒注册表编辑器在右边的窗格列出了子键的值﹒值的名字和值的数据也一起显示出来﹒左边的窗格仅仅显示子键﹒flags指定数据的类型﹒

表15.5. AddReg flags定义

系统注册表对于驱动程序安装的重要性将在后面讨论﹒

SourceDisksNames 部分

如果INF文件包含的驱动程序文件分布在多个磁盘上﹐INF文件就必须包含

[Source-DisksNames]部分﹐这个部分包含文件分布的每个磁盘的人口﹒

diskid=disk-description[,tagfile,unused,path]

diskid是唯一的分配设置中的名字﹒通常﹐磁盘号从1开始﹐disk-description是一个提示用户合适的磁盘的字符串﹒

tagfile值有双重的作用﹒确定在安装过程中用户提供正确的磁盘﹐tagfile值在安装过程继续进行之前被检验﹐如果tagfile文件不存在﹐用户被重新提示插入正确的磁盘﹒如果agfile值包含.CAB的扩展名﹐表示磁盘上的驱动程序文件是压缩文件﹒path值是一个以root-relative为磁盘根目录的驱动程序文件的路径﹒像tagfile值一样是可选择的﹒

SourceDisksFiles 部分

INF文件必须包含一个[SourceDisksFiles]部分﹒这个部分列出了在安装驱动程序过程中使用的文件名﹒每个文件都有相应的条目﹒

filename=diskid[,subdir,size]

diskid值是一个[SourceDisksNames]部分指定的可以找到文件名的磁盘﹐可选的subdir值指定文件的路径﹒可选的size值指定解压缩文件的字节大小﹐安装过程使用这个数据在尝试复制文件之前决定目标系统是否适合安装﹒

DestinationDirs部分

这是个必须的提供目标路径的部分﹒

file-list-section=dirid[,subdir] 或者

DefaultDestDir=dirid[,subdir]

file-list-section是一个被[CopyFiles]的指示器唤起的部分﹒它指定所有的被指示器复制的文件安装到指定的路径﹒对于DefaultDestDir﹐用于[CopyFiles]中所有的指示器﹐通常与file-list-section联合使用﹒

表15.6. DestinationDirsdirid定义

DDInstall.Services 部分

为了让复制的文件在目标系统中起驱动程序的作用﹐必须通知服务控制管理器(SCM)﹐在WIN2000中安装的每个驱动程序在注册表的HKLM\System\CurrentControlSet\Services下面﹐ServiceType值是1表示内核模式的驱动程序﹒StartType指出在系统引导过程中在何时加载驱动程序﹒ErrorControl值决定在驱动程序加载的过程中如果遇到错误后如何是好﹒ServiceBinary值指出驱动程序的位置(.SYS文件)﹒但是可能会被遗漏﹐如果二进制文件

在%windir%\system32\drivers路径并且与HKLM\...\Services下面的子键名的名字相同的时候就发生这种情况﹒

DDInstall.Services部分条目的形式是﹕

AddService=ServiceName,[flags],service-install-

section[,eventlog-install-section]

ServiceName描述服务的名字﹐典型的是驱动程序的名字(没有.SYS扩展名)

表15.7. AddService flags定义

service-install部分和可选的eventlog-install部分唤起附加的控制服务值条目的INF部分(例如﹐ServiceType和StartType)﹒

ServiceInstall 部分

[ServiceInstall]部分﹐它的名字在DDInstall.Services部分的AddService条目中唯一指定﹐控制和安装驱动程序到服务控制管理器﹒

表15.8. ServiceInstall 部分条目

INF 例子

前面介绍的INF文件好象非常复杂﹐这里使用一个例子说明它﹒在下面的例子中﹐INF 控制一个由两个文件组成的驱动程序﹒Launcher.SYS被复制到系统的驱动程序路径﹐Launcher.HLP被复制到系统的帮助路径(例如﹐ WINNT\System32\Drivers和WINNT\Help)﹒[Version]

Signature="$Windows NT$"

Class=Missiles

ClassGUID={C9B3D080-6889-11d4-93FC-444553540000} Provider=W2KDriverBook DriverVer=07/04/2000,1.00.2468.1

; 注释在分号(;)后面

[DestinationDirs] ; 指定文件复制的目的地

DefaultDestDir=12 ; %windir%\system32\drivers CopyLaunchHelp=18 ; standard help directory

[Manufacturer]

W2KDriverBook=MyMfgName ; 唤起model部分

[MyMfgName] ; 开始一个Models部分

"ISA Missile Launcher"=InstallLauncher,ISA\Launcher ; 我们的设备列表

[InstallLauncher] ; 开始DDInstall 部分

CopyFiles=CopyLaunchFiles ; 唤起CopyFiles 部分.

CopyFiles=CopyLaunchHelp ; 另一个是help的

AddReg=LaunchRegSection ; 唤起AddReg 部分

[CopyLaunchFiles] ; 开始CopyFiles部分

Launcher.sys

[CopyLaunchHelp] ; Help文件的CopyFiles部分Launcher.hlp

[LaunchRegSection] ; 开始AddReg 部分

HKR,"Parameters","Coordinates",FLG_ADDREG_TYPE_DWORD,0

; 给设备提供一个是0的DWORD 值

[SourceDisksNames] ; 这个部分不是真的需要﹐

1="Missile Launcher Driver Files" ; 因为只有两个文件并且在同一个磁盘上

[SourceDisksFiles]

Launcher.sys=1 ; 类似的﹐因为它们在同一个磁盘上﹐

Launcher.hlp=1 ;所以不是真正的需要这个部分

[InstallLauncher.Services] ; DDInstall.Services部分

AddService=Launcher,2,LaunchService

[LaunchService] ; 设置SCM﹐这样驱动程序就可以运行了

ServiceType=1 ; 驱动程序

StartType=3 ; 需要时手动加载

ErrorControl=1 ; 汇报错误

ServiceBinary=%12%\Launcher.sys ; 驱动程序路径

使用INF文件

一旦驱动程序的INF创建完成﹐必须处理它﹐使它有用﹒

手动安装

手动的处理INF文件﹐必须使用Windows的文件管理器选择INF文件﹐右击这个文件﹐选择安装﹒

在真正的即插即用环境中﹐插入或者移除设备触发相应的驱动程序的安装﹐加载和卸载﹒因此﹐保留手动的安装是为了最初的测试和调试驱动程序﹒

自动安装

当一个即插即用的设备被插入到一个系统﹐数个子系统相互作用来加载新的驱动程序﹒ 1. 当设备被插入﹐硬件使用自动侦测和自动配置﹐告诉总线驱动程序设备出现﹒

依赖于总线硬件﹐这可能涉及通知总线驱动程序一个新的总线设备列举发生﹒在这一步的最后﹐驱动程序发现新的设备出现并且有一个指定的设备ID﹒

2. 内核模式PnP管理器通知用户模式PnP管理器一个新的有一个指定ID的设备出现在系统中﹒

3. 用户模式PnP管理器使用WIN2000的Setup API库为新的设备提供一个类似的

驱动程序列表﹒为了合适的驱动程序﹐系统使用新设备的class和model查找系统的INF 目录(例如﹐WINNT\INF)﹒

4. 如果不能找到合适的INF文件﹐系统不进行进一步的动作直到一个有特权的用

户进入系统﹒用户被提供一个新的硬件向导﹒用户提供驱动程序的位置和合适的INF文件位置﹒

5. 一旦找到INF文件﹐它被使用CfgMgr API库处理﹒驱动程序文件和注册表条目

被安装和修改﹒内核模式的PnP管理器主要执行这个步骤﹒

6. 基于INF文件的指导﹐内核模式PnP管理器加载任何低层的滤波驱动程序﹐然

后是functional驱动程序﹐最后是高层的驱动程序﹒在堆栈中的高层的驱动程序然后发送适当的PnP信息﹐包括IRP_MN_START_DEVICE.

添加/移除硬件向导

在安装过程中﹐主要的与用户的交互是添加新硬件向导﹒注意有一个制造商的列表(来自于INF文件的[Manufacturers]部分)﹐和Models列表(来自于INF文件的[Models]部分)﹒

通常﹐用户手动选择适当的驱动程序去安装和加载﹒如果驱动程序被安装﹐它的DriverEntry和AddDevice例程必须仍然有效﹐这样使请求驱动的硬件满意新代码的设置﹒换句话说﹐手动的选择可能成功的安装﹐但是初始化是失败的﹒

Class名字和设备IDs

即插即用设备自动安装的过程很大程度上依赖安装程序的定位合适驱动程序的INF文件和文件中各个部分的能力﹒这个部分文章的目的是解释Class名字和设备Ids﹐还有定位INF 文件的过程﹒

每个即插即用设备应该有一个唯一的指定硬件模型的标识符号﹒因此提供设备ID给即插即用总线硬件和总线驱动程序﹒当然﹐总线驱动程序在新的设备被插入后的很短时间内请求设备ID﹒设备ID的形式与总线类型有关﹒但是﹐一般看起来是:

\

(例如﹐PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02)

对于驱动程序代码﹐一个硬件设备可能汇报多个设备ID﹐它是设备功能上的与很多models兼容的陈述﹒因为INF文件的[Models]部分包含一个hw-id值﹐所以﹐寻找与新安装的设备返回的设备ID相匹配的INF文件中的条目非常简单﹒同样的INF条目允许相兼容硬件的列表的规范有附加的设备Ids形式﹒如果设备ID不能在INF文件中定位精确的匹配﹐就使用兼容的ID﹒

另一个为设备定位合适的驱动程序的关键元素是安装类(Setup Class)的观念﹒一系列相关的设备可以共享分层的驱动程序 (例如﹐upper或者lower滤波器)﹐甚至在堆栈中个别的驱动程序﹒安装类被GUID 和name唯一的标识﹒微软定义了一系列驱动程序类﹐新的类可能被定义新的硬件组﹒创建新的组之前﹐必须选择一个新的GUID和class名字﹒

表15.9. 安装类: 名字和GUIDs

自定义安装

驱动程序一般提供两个定制驱动程序安装的信息﹒第一﹐提供一个自定义的安装程序代替新硬件安装程序﹐为了提供这个功能﹐自定义的安装程序需要使用SETUPAPI.DLL提供的例程﹒这个库中的每个函数的形式是SetupDiXxx﹒DDK提供使用这个库的详细资料﹒第二﹐驱动程序可以提供一个自定义的设置设备的向导页﹒在它的工作要完成之前﹐安装程序发送一个DIF_NEWDEVICEWIZARD_FINISHINSTALL请求来提供给驱动程序一个显示自定义页的机会﹒

控制驱动程序的加载顺序

有时﹐驱动程序的加载顺序是非常重要的﹒可能一个驱动程序依赖另一个驱动程序初始化完成﹒当有这样的依赖产生﹐服务控制管理器(the Service Control Manager)可以取得系统注册表中条目LoadOrderGroup和Dependencies﹐这些值可以在INF文件中的[ServiceInstall]部分指定﹒

LoadOrderGroup是命名一个指定的驱动程序加载顺序组的一个号码﹐Dependencies指定在这个驱动程序加载成功之前必须加载的组﹒

这样的相互依赖不是公共的﹐也不应该是公共的﹒在一个真正的以设备为中心的环境(支持即插即用)中﹐驱动程序应该使用尽量少的联系的顺序﹒另一方面﹐分层很多的驱动程序的执行需要这些规范是合理的﹒

驱动程序的数字签名

WIN2000的CD上附带有很多第三方的驱动程序﹒为了分享这些程序﹐需要几个条件﹒加之﹐无论何时尝试在WIN2000上安装一个驱动程序﹐都会收到一个陈述设备驱动程序没有数字签名并且它的确实性没有被微软检验的警告信息﹒

下面介绍微软的检验驱动程序的确实性的作用和驱动程序作者和硬件制造商的保证它们的软件包被包含在未来的WIN2000 CD上的负担﹒

微软检验驱动程序的原因

微软检验驱动程序有两个目标:

1. 通过方便的设备驱动程序的发售提供或者促进WIN2000和更多的硬件设备的协同工作能力﹒

2. 确定设备驱动程序是稳定的和没有折中系统的完整性﹒

因为设备驱动程序操作在内核模式﹐它们可以慢慢的或者很快的使系统崩溃﹒因为系统的不稳定性常常由内核自己引起﹒这样﹐微软为它的操作系统维持一个被鉴定的制造商和驱动程序的目的是明显的﹒

当然﹐WIN2000和大多数的硬件的协同工作能力是一个强有力的买点﹒因此﹐微软常常与硬件制造商一起来确保及时地发布兼容的驱动程序﹒

为了完成这两个目标﹐微软有专门的提供硬件和驱动程序证明的团队﹐Windows硬件质量实验室(WHQL)﹒

数字签名

作为WHQL程序的一部分﹐一个被检验过的驱动程序获得一个允许在WIN2000中安装驱动程序并且不会产生警告的数字签名﹒数字签名由几个部分组成:

1. 一个被包含在分布式的驱动程序包的目录文件(.CAT)﹐它包含微软分配的数字签名﹒

2. 一个在INF文件中[Versions]部分的涉及.CAT文件的条目﹒

3. WIN2000的是或者否允许一个没有数字签名的驱动程序安装的策略﹒

数字签名有更改检验﹐这样确保驱动程序被使用供货商提供的原始的代码安装﹒它使用密码技术来完成这个目标﹐这个数字签名没有更改驱动程序代码﹒

小结

Windows 2000和Windows 98的自动的设备驱动程序的安装对于用户来说是一个巨大的进步﹒然而这个步骤需要驱动程序的作者附加的工作﹐至少﹐必须提供一个INF文件﹒

DDK中INF文件详解

安装一个驱动程序 一个后缀是INF的文本文件控制设备驱动程序自动的安装。INF格式类似于WIN 3.x下的老式的.INI文件,但是复杂些。一个INF文件允许自动的或者在对话框的帮助下安装驱动程序文件。 驱动程序安装结束后对系统产生两个持久的影响: 1. 描述驱动程序的系统注册表入口,它的加载顺序和任何适当的配置数据。 2. 驱动程序文件被拷贝到适当的系统路径。 INF文件是影响这些改变的标准的机制,它可以提供定制安装。 使用INF文件自动安装 INF文件随着硬件和驱动程序一起提供,INF文件的结构和内容是驱动程序作者的责任。INF文件结构 INF文件是被分(section)成几个部分的文本文件,每个部分被指定一个标识符号﹐它被中括号([])括起来﹒一些部分的命名是必须的﹐而其它部分是驱动程序特定的﹒每个部分是一 些安装动作﹐或者连接或者列举其它部分﹒ 文件中各个部分的顺序是不重要的﹐因为每个部分都是被命名和连接的﹒一个部分继续直到另一个部分或者遇到文件结束﹒每个部分的标识符号是独一无二的名字﹐为了保持与WIN98的兼容﹐它的长度被限制在28个字符之内﹐可以包含下划线和圆点字符﹐在引用整个名字的前提下﹐可以包含空格字符﹒ 文件内容的一般格式如下: entry = value [, value...] entry是指令﹐关键词或者文件名﹐value是entry被应用的属性﹒ entry或者value名字可以指定为一个使用百分号(%)的代替一些具体数据的字符串﹐分割INF文件的[Strings]提供一个特殊语言ID的值。 Version 部分 一个有效的INF文件从一个命名为[Version]的部分开始,它像一个INF文件的头和标识。 表15.1. [Version]部分的条目 Manufacturers部分

USB INF文件详解(USB)

INF文件详解 INF文件格式要求 一个INF文件是以段组织的简单的文本文件。一些段油系统定义(System-Defined)的名称,而另一些段由INF文件的编写者命名。每个段包含特定的条目和命名,这些命名用于引用INF文件其它地方定义的附加段。 INF文件的语法规则: 1、要求的内容:在特定的INF文件中所要求的必选段和可选段、条目及命令依赖于所要安装的设备组件。端点顺序可以是任意的,大多数的INF文件安装惯用的次序来安排各个段。 2、段名:INF文件的每个段从一个括在方括号[]中的段名开始。段名可以由系统定义或INF编写者定义 在Windows 2000中,段名的最大长度为255个字符。在Windows 98中,段名不应该超过28个字符。如果INF设计要在两个平台上运行,必须遵守最小的限制。段名、条目和命令不分大小写。在一个INF文件中如果有两个以上的段有相同的名字,系统将把其条目和命令合并成一个段。每个段以另一个新段的开始或文件的结束为结束。 3、使用串标记:在INF文件中的许多值,包括INF编写者定义的段名都可以标示成%strkey%形式的标记。每个这样的strkey必须在INF文件的Strings 段中定义为一系列显示可见字符组成的值。 4、行格式、续行及注释:段中的每个条目或命令以回车或换行符结束。在条目或命令中,“\”可以没用做一个显示的续行符;分好“;”标示后面的内容是注释;可以用都好“,”分隔条目和命令中提供的多个值。 INF文件举例 下面是一个完整的.inf文件,它是Windows 2000 DDK提供的USB批量阐述驱动程序范例中所附的.inf文件。 ; Installation inf for the Intel 82930 USB Bulk IO Test Board ; ; (c) Copyright 1999 Microsoft ; [Version] Signature="$CHICAGO$" Class=USB ClassGUID={36FC9E60-C465-11CF-8056-444553540000} provider=%MSFT% DriverVer=08/05/1999 [SourceDisksNames] 1="BulkUsb Installation Disk",,, [SourceDisksFiles] BULKUSB.sys = 1 BULKUSB.inf = 1

autorun-ini详解

备注: 应用程序的默认图标将在windows explorer核心的驱动显示窗口中替代设备的默认图标来显示。 图标路径名的默认目录是设备根目录。 2、Icon 含义:指定设备显示图标。 格式: Icon=图标路径名[,序号] 参数: 图标文件名:应用程序的默认图标路径名,格式可以为.ico、.bmp、.exe、.dll。当文件格式为.exe和.dll时,有时需要使用序号来指定图标。 序号:当文件格式为.exe和.dll时,文件可能包括多余一个图标,此时需要使用序号来指定图标,需要注意的是,序号是从0开始的。 备注: 设备显示图标将在windows explorer核心的驱动显示窗口中替代设备的默认图标来显示。 图标路径名的默认目录是设备根目录。 当存在应用程序默认图标(DefaultIcon)时,本命令无效。 3、Label 含义:指定设备描述 格式: Label=描述 参数: 描述:任意文字,可以包括空格。 备注: 设备描述将在windows explorer核心的驱动显示窗口中替代设备的默认描述卷标来显示。 在非windows explorer核心的驱动显示窗口中(例如右击设备选择属性)显示的仍然是设备的卷标。 4、Open 含义:指定设备启用时运行之命令行。 格式: Open=命令行 (命令行:程序路径名 [参数]) 参数: 命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开或使用ShellExecute命令。 备注:

命令行的起始目录是设备根目录和系统的$Path环境变量。 5、ShellExecute 含义: 指定设备启用时执行文件。(操作系统支持未知) 格式: ShellExecute=执行文件路径名 [参数] 参数: 执行文件路径名:设备启用时执行文件路径名。可以是任意格式文件。系统会调用设置的程序执行此文件。 参数:参数,根据执行文件作调整 备注: 命令行的起始目录是设备根目录和系统的$Path环境变量。 6、Shell\关键字\Command 含义: 定义设备右键菜单执行命令行。 格式: Shell\关键字\Command=命令行 (命令行:程序路径名 [参数]) 参数: 命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开。 备注: 命令行的起始目录是设备根目录和系统的$Path环境变量。 7、Shell\关键字 含义:定义设备右键菜单文本。 格式: Shell\关键字=文本 参数: 关键字:用以标记菜单,可以使用任何字符表示,包括空格。 文本:在右键菜单中显示的文本。可以使用任何字符,不能存在空格。 备注: 在同一Autorun.inf文件中,不同右键菜单关键字不同,相同右键菜单关键字相同。 右键菜单文本中可以使用&设定加速键,&&输出一个&。 Shell关键字Command命令Shell关键字两者缺一不可,顺序无所谓。 当不存在Open、ShellExecute与Shell命令时,设备启用时运行第一个设备右键菜单指定命令。 8、Shell

Resin配置步骤及中文配置文件说明

为java web应用部署resin服务器简略步骤: 1 点击Run图标下面的Run configuration 或者debug图标下面的debug configuration 2 新建new launch configuration 填写Name Project MainClass 注意左侧选择未java application 参考配置: Name:test1(自己根据情况填写) Project:你的项目名字 MainClass:com.cauche.server.resin.Resin Program Argument:-conf "E:\resin-4.04\conf\resin-test1.xml" //配置文件的目录 VM argument:-Dresin.home = E:\resin-4.04 -Djava.util.logging.manager = com.cauche.log.LogManagerImpl Resin配置文件 2s

更多生物Mod 说明

原帖地址:https://www.wendangku.net/doc/8d6651976.html,/thread-67619-1-1.html 本帖仅对原帖进行翻译,未对内核进行汉化,并且不提供下载地址。 由于本小组已解散,本帖日后内容将有本人不定时更新,如有信息错漏请 私信本人。 转载请注明出处!! 2013/01/23 经过一个多星期由组员空余时间工作,Mo'Creatures Mod的原帖翻译文档终于宣告完工。由于本文档经过不同翻译员共同合作,在不同时间段工作完成,难免会有错漏,希望大家谅解并提出,以便及时更正。感谢大家对HAYO汉化组的支持!

MOD中文名:更多生物MOD 版本号:4.5.1(for1.4.7) MOD英文名:DrZhark's Mo'Creatures Mod MOD原帖地址:https://www.wendangku.net/doc/8d6651976.html,/topic/81771-147-mo-creatures-v451-with-elephants-mammoths-k omodo-dragons-more-ostriches-better-jellyfish-more-fairy-horses/ MOD下载(afsddsg提供):https://www.wendangku.net/doc/8d6651976.html,/thread-71062-1-1.html MOD汉化版下载(703202511提供):https://www.wendangku.net/doc/8d6651976.html,/thread-73487-1-1.html 其他需要的文件: 1. Forge 客户端 2. GUI Api 3. CustomMobSpawner 为Minecraft升级Mod是一件非常庞大的工作。我虽然发布了本MOD但是仍然有一些Bug尚未得到修复。目前我正在解决这些问题: 已知漏洞(for1.4.7): -鱼缸BUG -一些粒子会变黑 安装方法: 1.安装Forge(解压并放进minecraft.jar内) 2.安装GUI API(解压并放进minecraft.jar内) 3.删除minecraft.jar内的META-INF文件夹 4.将MoCreatures.zip和CustomSpawner.zip放进.minecraft/mods内 声明: 这一MOD是我耗费无数时间和精力后心血的结晶。您可以无偿地进行下载,但是如果此MOD对您的游戏存档造成任何损坏我将不负任何责任。本MOD在本文之外不允许以任何方式进行散布。您不允许以“懒人包”、安装器或插件的方式进行传播本MOD。多人游戏插

AHCI驱动下载与手动安装图解

AHCI驱动下载与手动安装图解 2010年01月22 | 分类: 网络日志| 14 条评论| 标签: Maintain 天缘早前写过《AHCI模式的驱动下载、安装及蓝屏问题综合》一文,但是没有对具体安装过程进行过多描述,实际上里面还有好几个重点问题没说清楚,很多新手网友,按照该文章描述很难安装成功,天缘本文就来实际图解安装示范一下,顺便补充说明几个注意点,如果您的Windows XP、Vista、Windows 7系统需要预安装或后安装SATA/RAID/AHCI驱动,相信本文对你有些帮助。 一、准备AHCI驱动 1、关于AHCI基础知识,请参考《AHCI模式的驱动下载、安装及蓝屏问题综合》一文。 2、安装AHCI驱动之前,请先确认桌面上、系统盘没有重要的东西需要备份,因为如果安装失败可能导致系统无法启动,除非你有第二系统或应对修复方法。 3、准备AHCI驱动: A、对于台式机用户,主板的驱动光盘中一般都有这个东西,笔记本用户就不一定了,留意一下驱动盘中是否有类似Intel Matrix Storage Manager Driver、Matrix Storag、SATA Driver、AHCI字样的驱动软件。 B、如没有随机驱动盘就只能自己到官网找了,一定要注意该AHCI驱动的支持的Windows或Linux操作系统版本。 C、实际上AHCI驱动的通用性很强,只需要按照芯片组(AM D、INTEL、NV...,具体可在笔记本或主板说明书里查看)到网上都能找到,可以查看驱动包中的类似iaAHCI.inf文件中,AHCI驱动下载一文中也有ThinkPad Intel(R) Matrix Storage Manager Driver(Win 2k_XP)驱动,不过该驱动是2006年的,适合一些老主板:iaStor_ICH7DH = "Intel(R) 82801GR/GH SATA RAID Controller (Desktop ICH7R/D H)" iaAHCI_IC H7R = "Intel(R) 82801GR/GH SATA AHCI Controller (Desktop ICH7R/D H)" iaAHCI_IC H7M = "Intel(R) 82801GBM SATA AHCI Controller (Mobile ICH7M)" iaStor_ICH6R = "Intel(R) 82801FR SATA RAID Controller (Desktop IC H6R)" iaAHCI_IC H6R = "Intel(R) 82801FR SATA AHCI Controller (Desktop ICH6R)" iaAHCI_IC H6M = "Intel(R) 82801FBM SATA AHCI Controller (Mobile ICH6M)"

Microsoft Office 2007 集成 SP3详解

office 2007 集成 SP3 免激活完全无人值守安装---留给office 2007最后的眷恋 方案一 准备: 1、microsoft office 2007 原版 2、PowerISO、UltraISO 、DAEMON Tools 都可以 制作步骤: 1、定制安装自定义安装包 用虚拟光驱加载microsoft office 2007原版安装光盘ISO镜像,如果光盘自动运行,请退出。然后在“开始”、“运行”里输入X:\setup /admin命令,(X为光盘镜像所在的盘符)进入自定义工具界面,选择新建自定义文件。 一般只需要对下面的几个地方进行相关的设置就行了。

在授权和用户界面里,我们要输入序列号,并选上接受许可协议,同时把“完成通知”前面的勾去掉,这样程序安装完了就会自动退出。 在“设置功能安装状态”里,可以选择你需要安装的组件,记得必须选择“从本机运行全部程序”, 在“配置快捷方式”里,按自己的需要进行设置,

完成相关的设置后,

点击“文件”菜单栏的“保存”, 把设置保存为setup.msp文件,并保存到D盘 2、修改光盘自动运行配置文件autorun.inf 把光盘根目录里的autorun.inf文件复制到D盘,用记事本打开, 把里面的open=setup.exe这一行改为open=setup /adminfile setup.msp 并保存。 3、制作光盘镜像 先把microsoft office 2007原版安装光盘ISO镜像从虚拟光驱里卸载,然后用UltraISO打开光盘镜像,把刚才定制的配置文件setup.msp和autorun.inf文件添加到镜像的根目录,并替换掉原来的autorun.inf文件,

inf格式说明

INF是Device Information File(设备信息文件)的简称,设备管理器通过读取相应的INF文件来安装驱动程序, 其中记录了驱动程序安装的所有操作,包括复制文件到指定路径、添加或修改注册表、加载系统服务等,而实际的 驱动程序则存放在sys、dll、vxd等文件中。 \subsubsection{INF文件的规则} \begin{description} \item [规则一:] INF 文件是分节的,每一个 INF 文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有一些是用户自定义的。每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。 \item [规则二:]在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature="$CHICAGO$"”的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。 \item [规则三:] INF 文件对大小写不敏感。 \item [规则四:] ";" 号后面的内容为注释。 \item [规则五:] 如果一个条目的内容过多,在一行无法书写完全,则用 $\slash$将一行内容书写为多行。 明白了INF文件的规则后,让我们一起来解剖INF文件的结构。 \end{description} \subsubsection{INF文件的构成} 在C:Windows下有一个名为INF的隐藏文件夹,我们可以找到很多??.INF、??.pnf格式的文件,前者即所谓的设备信息文件, 后者是预编译信息文件。用记事本可以打开INF文件,其中记录了必要的硬件安装信息,包括设备类型、设备生产厂商名称、 适用产品等信息,Windows可以据此自动安装驱动程序。如图1所示,这是CPU的INF文件,笔者以此为例介绍主要构成部分: \begin{enumerate} \item $\left[ version \right]$ :版本信息 \\ 每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。 在该节中如果出现“signature="$CHICAGO$"”这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统, 如果包含“signature="$Windows NT$"”这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。 另外,该节中“CLASS”条目很重要,它表明了设备的类型,常见的类型有:Display(显示设备,如显卡)、Media(多媒体设备, 如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer(打印设备)、Image (图像捕获设备,如摄像头)。

JSP项目目录路径详解

jsp WEB-INF,META-INF文件详解 WEB-INF /WEB-INF/web.xml 你的Web应用程序配置文件,这是一个XML文件,其中描述了servlet 和其他的应用组件配置及命名规则; /WEB- INF/classes/ 这个目录包含了站点所有用的class 文件,包括servlet class 和非servlet class,他们不能包含 在 .jar文件中。 站点的类的存放规则应该按照Java的打包规则执行。例如:有一个类命名为 com.mycompany.mypackage.MyServlet,你应该按照以下形式部署:/WEB-INF/classes/com /mycompany/mypackage/MyServlet.class ; 按照包名结构放置各个类(JavaBean 和Servlet) /WEB- INF/lib/ 存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件 /WEB- INF/src/ src=source 源码目录,按照包名结构放置各个java文件 /WEB- INF/database.properties 数据库配置文件 # database.properties jdbc.drivers = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://localhost/ams2 https://www.wendangku.net/doc/8d6651976.html,ername = root jdbc.password = sh2007ai # table define ams2.table.dialogue = content_dialogue ams2.table.expansion = content_expansion_sentence ams2.table.vocabulary = content_vocabulary /WEB-INF/tags/ 标签文件库,存放了客户定义的标签文件,该目录并不一定为tags,用户可以根据自己的喜好和习惯为自己的标签文件库命名,当使用了用户定义的标签文件库名称时,在用户使用标签文件时就必须声明正确的标签文件库路径。例如:当自定义标签文件库名称为simpleTags 时,在使用simpleTags 目录下的标签文件时,就必须在jsp 文件头声明为:<%@ taglib prefix="tags" tagdir="/WEB-INF /simpleTags" % >; /WEB-INF/jsp/ Jsp 1.2 以下版本的文件存放位置。改目录没有特定的声明,同样,用户可以根据自己的喜好与习惯

windows驱动中INF文件说明

第1章建立INF文件 为了安装Microsoft Windows 2000驱动程序,必须有一个INF文件。一个INF文件是一个文本文件,包含了关于设备和要安装的文件的必要信息,如驱动程序映像、注册表信息、版本信息等等,这些都被Setup组件所使用。 Windows 2000 INF文件不包含安装脚本。安装程序是Win32安装应用程序的一部分,如新设备向导和增加/删除硬件向导,每个INF文件作为一个资源。 包括对设备的安装支持,INF文件为设备初始化一个新的设置类别,比如INF有一个ClassInstall32节。 这一章包含以下信息: ·3.1 INF文件总体指南 ·3.2 为设备文件说明源和目标位置 ·3.3 建立跨平台的和/或者双操作系统的INF文件 ·3.4 建立国际化的INF文件 ·3.5 在设备的INF文件中加强打开文件的安全性 ·3.6 从应用程序访问INF文件 参见《Windows 2000驱动程序开发参考》第1卷中的第3部分的第1章---INF文件的节和指示以获得INF文件格式的完整描述。 1.1 INF文件总体指南 INF文件有一些公共部分并遵守一套单一的语法规则,但是由于Windows支持的各种设备,它们也是有区别的。编写INF文件时,你应该求教于以下的信息资源。 ·这一章和INF文件节和指令参考资料。 ·你的设备的类别的文档。 例如,如果你的设备是图形适配器,参见DDK文档的图形驱动程序一节。 ·INF文件的DDK工具。 DDK提供了一些工具以协助编写INF文件。参见DDK的tools目录中的关于工具如GenINF 和ChkINF的信息。 ·INF示例文件和类似设备的INF文件。 DDK包括了它的示例驱动程序的INF文件。分析这些示例文件,看看是否有设备的INF文件类似于你的设备。 你可以使用任何编辑器建立或者修改INF文件。如果你的INF文件包含非ASCII字符,将文件存成Unicode文件。注意ChkINF不支持Unicode文件。 一个和Windows 2000操作系统一起发行的INF文件必须有xxxxxxxx.inf的文件名,这里xxxxxxxx不能超过8个字符。独立于操作系统发行的INF文件的名称不受8个字符的限制。 1.2 为设备文件说明源和目标位置 当Setup处理INF文件中的拷贝、更名、删除文件语句时,它为文件确定源和目标位置。

INF文件解析

般我们总是认为INF文件是系统设备的驱动程序,其实这是错误的认识,Windows之 所以在安装某些硬件的驱动时提示需要INF文件是因为INF文件为该设备提供了一个 全面描述硬件参数和相应驱动文件(DLL文件)的信息。就好比我们看着说明书安装电脑 硬件一样,我们就是Windows系统,说明书就是INF文件。INF文件功能非常强大, 几乎能完成日常操作的所有功能。您可以把它看成是Windows系统底下的超强批处理。要熟练掌握和理解甚至是编写INF文件需要对其内部结构有相当的认识。INF文件中包 含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装 到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息 等等。安装监视器、调制解调器和打印机等设备所需的驱动程序,都是通过INF文件,正是INF的功劳才使得Windows可以找到这些硬件设备的驱动并正确安装。当我们通 过“开始→控制面板→添加删除程序→Windows安装程序”来添加系统组件的时候,INF 文件将会自动调用。而在其他场合下,则需要在INF文件上点击鼠标右键,然后选择“安装”,你才能顺利安装应用程序。 在C:/Windows/INF文件夹中存放有大量的INF文件。该文件夹一般处在隐含状态,如果你想查看该文件夹,可选择“查看→文件夹选项→查看”,然后在“文件和文件夹”选项下选择“显示所有文件”。 [编辑本段] 数学符号 inf,表示下确界。 对于函数y=f(x),在使f(x)大于等于M成立的所有常数M中,我们把M的最大值M’ 叫做函数y=f(x)的下确界。 下确界:在所有那些下界中如果有一个最大的下界,就称为M的下确界 [编辑本段] INF结构 INF文件其实是一种纯文本文件,可以用任意一款文本编辑软件来打开进行编辑,如:记事本、写字板等。INF文件有一整套的编写规则,每一个INF文件都是严格按照 这些规则来编写的。 *规则一:INF文件是分节的,每一个INF文件有许多的节组成,节名用方括号括 起来。这些节名有些是系统定义好的,有一些是用户自定义的。每一个节名最长为255 个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样 的节名,则系统会自动将这两个节名下面的条目合并到一起。

计算机系统文件夹详解

C: ├—windows │ ├—【system32】32位系统文件夹(存放Windows的系统文件和硬件驱动程序,同 时一些应用程序在安装时也会将其相应的支持文件复制到这个文件夹里来,因此强烈反对删除此文件夹下文件或此文件夹的做法) │ │ ├—config(用户配置信息和密码信息) │ │ │ └—systemprofile(系统配置信息,用于恢复系统) │ │ ├—drivers(用来存放硬件驱动文件,如果删除其中的文件,会导致硬件失去驱动而无效。请勿删除) ││ ├—spool(用来存放系统打印文件。包括打印的色彩、打印预存等) │ │ ├—wbem(存放WMI测试程序,用于查看和更改公共信息模型类、实例和方法等。请勿删除) │ │ ├—IME(用来存放系统输入法文件,类似WINDOWS下的IME文件夹) │ │ ├—CatRoot(计算机启动测试信息目录,包括了计算机启动时检测的硬软件信息) │ │ ├—Com(用来存放组件服务文件,运行其的“comexp.msc”就会打开组件服务控制台。 │ │ ├—ReinstallBackups(电脑中硬件的驱动程序备份) │ │ ├—DllCache(用来存放系统缓存文件。当系统文件被替换时,文件保护机制会复制这个文件夹下的文件去覆盖非系统文件,你可以用“SFC \SCANNOW”命令格式扫描一下系统文件,然后就可以将其下的所有文件全部删除了) │ │ ├—GroupPolicy(组策略文件夹) │ │├—oobe:(用来存放系统的激活信息) │ │├—Restore:(用来存放系统还原文件。双击运行“ rstrui.exe ”文件,就会调用系统还原功能) │ │├—Setup:(用来存放系统安装文件) │ │ └—wbem:(用来存放WMI测试程序,用于查看和更改公共信息模型类、实例和方法等。属于系统重要文件,不能删除) │ ├—【system】系统文件夹(用来存放系统虚拟设备文件同,用来存放系统虚拟设备文件,这些文件从逻辑上为系统在启动时建立一套完整的虚拟设备,尤其是当你的硬件驱动还没有安装的时候) │ ├—【$NtUninstall$】(每给系统打一个补丁,系统就会自动创建这样的一个目录,可删除) │ ├—【security】系统安全文件夹(用来存放系统重要的数据文件) │ ├—【srchasst】搜索助手文件夹(用来存放系统搜索助手文件,与msagent文件夹类似) │ ├—【repair】系统修复文件夹(用来存放修复系统时所需的配置文件,第一次安装Win2000/XP时系统自动在这里保存AUTOEXEC.BAT,CONFIG.SYS等相关的系统文件。这是系统修复文件夹,用来存放修复系统时的配置文件。当系统无法进入桌面,我们在不得已的情况下,会首先选择修复系统,这个文件里所存放的就是系统的基本配置文件) │ ├—【Downloaded Program Files】下载程序文件夹(用来存放扩展IE功能的文件ActiveX。例如能让IE播放Flash动画的控件,Java虚拟机控件等等)

INF

INF INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,是Windows操作系统下用来描述设备或文件等数据信息的文件。INF文件是由标准的ASCII码组成,可以用任何一款文字编辑器查看修改其中的内容。 目录 INF简介 数学符号 INF规则 INF结构 INF应用实例 INF文件格式详解 常见autorun.inf病毒文件结构 INF简介 数学符号 INF规则 INF结构 INF应用实例 INF文件格式详解 常见autorun.inf病毒文件结构 展开 编辑本段INF简介 一般我们总是认为INF文件是系统设备的驱动程序,其实这是错误的认识,Windows之所以在安装某些硬件的驱动时提示需要INF文件是因为INF文件为该设备提供了一个全面描述硬件参数和相应驱动文件(DLL文件)的信息。就好比我们看着说明书安装电脑硬件一样,我们就是Windows系统,说明书就是INF文件。INF文件功能非常强大,几乎能完成日常操作的所有功能。您可以把它看成是Windows系统底下的超强批处理。要熟练掌握和理解甚至是编写INF文件需要对其内部结构有相当的认识。INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在

注册表中加入自身相关信息等等。安装监视器、调制解调器和打印机等设备所需的驱动程序,都是通过INF文件,正是INF的功劳才使得Windows 可以找到这些硬件设备的驱动并正确安装。当我们通过“开始→控制面板→添加删除程序→Win dows安装程序”来添加系统组件的时候,INF文件将会自动调用。而在其他场合下,则需要在INF文件上点击鼠标右键,然后选择“安装”,你才能顺利安装应用程序。 在C:/Windows/INF文件夹中存放有大量的INF文件。该文件夹一般处在隐含状态,如果你想查看该文件夹,可选择“查看→文件夹选项→查看”,然后在“文件和文件夹”选项下选择“显示所有文件”。 编辑本段数学符号 inf,表示下确界。 对于函数y=f(x),在使f(x)大于等于M成立的所有常数M中,我们把M 的最大值M’叫做函数y=f(x)的下确界。 下确界:在所有那些下界中如果有一个最大的下界,就称为M的下确界 编辑本段INF规则 INF文件其实是一种纯文本文件,可以用任意一款文本编辑软件来打开进行编辑,如:记事本、写字板等。INF文件有一整套的编写规则,每一个INF文件都是严格按照这些规则来编写的。 规则一 INF文件是分节的,每一个INF文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有一些是用户自定义的。每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。 规则二 在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature="$CHICAGO$"”的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。 规则三

SP_Flash_Tool_exe_windows_v5.1348.00下载操作说明20131211

SP_Flash_Tool_exe_windows_v5.1348.00下载操作说明20131211 一、载版本准备工作 1、安装MTK手机驱动 对于初次使用该升级工具的电脑需要安装USB驱动,请将手机上电池,连接数据线,并观察设备管理器,设备管理器中会跳出相关设备。 1)右键设备选择“属性”,选择“更新驱动程序”。 2)选择“从列表或指定位置安装”,点“下一步”。

3)选择“不要搜索”,点“下一步”。 4)选择“显示所有设备”,点“下一步”。

5)选择“从磁盘安装”。 6)从驱动包里选择inf文件,然后安装驱动。驱动需要确保全部安装完成。

重复以上步骤,确保驱动安装完全。如果升级过程中有出现为安装的驱动,也请使用以上方法安装。 Adb的驱动请选择Unsigned infs\android_winusb.inf。 二、下载软件操作步骤: 1,解压缩 SP_Flash_Tool_exe_windows_v5.1348.00.zip 工具包,点击如下图标打开工具。 2,进入 Advance mode,确保顶层出现 Advanced Mode,如下图标示。 默认是没有的,请同时按下 Ctrl + Alt + V 进入此模式。

3,选择 Option -> Download ,勾选红色框中的选项。 4. 选择 Option -> Connection ,勾选红色中的选项。

MT6572_Android_scatter.txt”文件,然后确定。 6,选择Download 标签,在如图标示选择FirmwareUpgrade,点击Download开始。

统一身份认证CAS简单说明与设计方案

统一身份认证(CAS)简单说明与设计方案(转) 1. 单点登录概述 所谓单点登录(SSO),只当企业用户同时访问多个不同(类型的)应用时,他们只需要提供自身的用户凭证信息(比如用户名/密码)一次,仅仅一次。SSO 解决方案(比如,CAS)负责统一认证用户,如果需要,SSO也可以完成用户的授权处理。可以看出,当企业用户在不同的应用间切换时,他们不用再重复地输入自身的用户凭证了。在实施SSO后,所用的认证操作都将交给SSO认证中心。现有的SSO解决方案非常多,比如微软的MSN Passport便是典型的SSO 解决方案,各Java EE容器都提供了自身的专有SSO能力。 2. CAS的总体架构 1. CAS简介 CAS(中央认证服务)是建立在非常开放的协议之上的企业级SSO解决方案。诞生于2001年,在2002年发布了CAS2.0协议,这一新的协议提供了Proxy (代理)能力,此时的CAS2.0支持多层SSO能力。到2005年,CAS成为了JA-SIG旗下的重要子项目。由于CAS2.0版本的可扩展能力不是非常完美,而且他的架构设计也不是很卓越,为了使得CAS能够适用于更多场合,JA-SIG打算开发出同时遵循CAS1.0和CAS2.0协议的CAS3.X版本。 现在的CAS3全面拥抱Spring技术,比如Spring DI容器和AOP技术、Spring Web MVC、Spring Web Flow、Spring Ldap Template等。 通常,CAS3由两部分内容构成:CAS3服务器和CAS客户端。由于CAS2.0协议借助于XML数据结构与客户进行交互,因此开发者可以使用各种语言编写的CAS3客户与服务器进行通信。CAS3服务器采用纯Java开发而成,它要求目标运行环境实现了Servlet2.4+规范、提供Java SE 1.4+支持。如果宿主CAS3服务器的目标Java EE容器仅仅实现了Servlet2.3-规范,则在对CAS3服务器进行少量的改造后,CAS3也能运行其中。 运行时,CAS3服务器仅仅是一个简单的Web应用,使用者只需要将cas.war直接丢到目标Java EE容器后,即完成了CAS3的部署。 2. CAS词汇概念 TGC(ticket-granting cookie)--------- 受权的票据证明 KDC( Key Distribution Center ) ---------- 密钥发放中心 Service ticket(ST) --------- 服务票据,由KDC 的TGS 发放。任何一台Workstation 都需要拥有一张有效的Service Ticket 才能访问域内部的应用(Applications) 。如果能正确接收Service Ticket ,说明在CASClient-CASServer 之间的信任关系已经被正确建立起来,通常为一张数字加密的证书Ticket Granting tieckt(TGT) --------- 票据授权票据,由KDC 的AS 发放。即获取这样一张票据后,以后申请各种其他服务票据(ST) 便不必再向KDC 提交身份认证信息( 准确术语是Credentials) 。 authentication service (AS) --------- 认证用服务,索取Crendential ,发放TGT ticket-granting service (TGS) --------- 票据授权服务,索取TGT ,发放ST 3. CAS工作原理 CAS的单点登录的认证过程,所用应用服务器受到应用请求后,检查ST和TGT,如果没有或不对,转到CAS认证服务器登录页面,通过安全认证后得到ST 和TGT,再重新定向到相关应用服务器,在回话生命周期之内如果再定向到别的应用,将出示ST和TGT进行认证,注意,取得TGT的过程是通过SSL安全协议的。 如果通俗形象地说就是:相当于用户要去游乐场,首先要在门口检查用户的身份( 即CHECK 用户的ID 和PASS), 如果用户通过验证,游乐场的门卫(AS) 即提供给用户一张门卡(TGT)。 这张卡片的用处就是告诉游乐场的各个场所,用户是通过正门进来,而不是后门偷爬进来的,并且也是获取进入场所一把钥匙。

Inf文件指导说明书

Inf文件 INF文件全称Information File文件,是Winodws操作系统下用来描述设备或文件 等数据信息的文件。INF文件是由标准的ASCII码组成,您可以用任何一款文字编辑器查看修改其中的内容。一般我们总是认为INF文件是系统设备的驱动程序,其实这是错误的认识,Windows之所以在安装某些硬件的驱动时提示需要INF文件是因为INF文件为该设备提供了一个全面描述硬件参数和相应驱动文件(DLL文件)的信息。就好比我们看着说 明书安装电脑硬件一样,我们就是Windows系统,说明书就是INF文件。INF文件功能非常强大,几乎能完成日常操作的所有功能。您可以把它看成是Windows系统底下的超强 批初理。要熟练掌握和理解甚至是编写INF文件需要对其内部结构有相当的认识。下面 就让我们来深入到INF文件中的内部一窥其真面貌吧! INF文件的组成有段(Sections),键(Key)和值(value)(图示一)三部分。 关键节有: [Version]版本描述信息,主要用于版本控制。 [Strings]字符串信息,用于常量定义。 [DestinationDirs]定义系统路径信息。 [SourceDisksNames]指明源盘信息。 [SourceDisksNames]指明源盘文件名。 [DefaultInstall]开始执行安装。 其它的节可以自定义,下面用一实例来具体讲解。 1.Version节 每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。在该节中如果出现“signature="$CHICAGO$"”这样的条目则表示该INF 文件适用于Windows 98之后的所有操作系统,如果包含“signature="$Windows NT$"”这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。

相关文档