USB INF文件详解(USB)
usb.inf
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
%NatSemi.Mfg%=NatSemi.Section
%ACER.Mfg%=ACER.Section
%FTA.Mfg%=FTA.Section
%CATC.Mfg%=CATC.Section
%Sony.Mfg%=Sony.Section
%Sejin.Mfg%=Sejin.Section
[Manufacturer]
%Generic.Mfg%=Generic.Section
%Microsoft.Mfg%=Microsoft.Section
%GenericHub.Mfg%=GenericHub.Section
%Intel.Mfg%=Intel.Section
%Kawatsu.Mfg%=Kawatsu.Section
; For Windows NT...
[Composite.Dev.NT]
CopyFiles=CommonClassParent.CopyFiles
DelReg=Composite.DelReg.NT
[Composite.DelReg.NT]
HKR,,EnumPropPages32
; we specify the relative path off of %windir%.
;
USB.CopyFiles.NT = 10, system32\drivers
Hub.CopyFiles.NT = 10, system32\drivers
控制USB存储设备使用权限
控制USB存储设备使用权限任务:禁止电脑USB接口使用存储设备,但不能妨碍鼠标、键盘、打印机、加密狗等一切需要USB接口工作的外部设备。
(BIOS里全部关闭USB端口,这样USB端口全关了,什么USB 设备都用不了了!!!)1、关闭USB存储设备的盘符自动分配。
打开注册表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR”,将“Start”的值改为4(禁止自动分配盘符),默认为3是自动分配盘符;2、干掉USB存储设备的作用文件。
进入“C:\Windows\inf”,这里说明一下,USB存储设备的作用文件有两个,分别是usbstor.inf和usbstor.pnf,因为后续可能需要重新打开USB功能,所以不要删除它,建议拷贝到其他位置,当然你要暴力一点,删除它也没关系,但记得做好备份。
到此,即可禁止使用USB存储设备,不影响其他USB外设。
如何启用USB存储设备使用权限,逆向操作以上步骤即可开启USB存储设备使用权限。
下面是如何用批处理完成关闭或开启USB存储设备使用权限:关闭过程:@echo offreg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR" /v Start /t reg_dword /d 4 /fcopy %Windir%\inf\usbstor.inf %Windir%\usbstor.inf /y >nulcopy %Windir%\inf\usbstor.pnf %Windir%\usbstor.pnf /y >nuldel %Windir%\inf\usbstor.pnf /q/f >nuldel %Windir%\inf\usbstor.inf /q/f >nul@echo on开启过程:@echo offreg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR" /v Start /t reg_dword /d 3 /fcopy %Windir%\usbstor.inf %Windir%\inf\usbstor.inf /y >nulcopy %Windir%\usbstor.pnf %Windir%\inf\usbstor.pnf /y >nuldel %Windir%\usbstor.pnf /q/f >nuldel %Windir%\usbstor.inf /q/f >nul@echo on将以上代码保存为两个BA T文档,可以分别为DisableUSB.bat 和EnableUSB.bat,然后放入“C:\Windows\system32\”目录下,即可直接在CMD窗口里输入指令“DisableUSB”关闭USB存储设备使用权限或输入指令“EnableUSB”开启USB存储设备使用权限。
INF文件详解
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=USBClassGUID={36FC9E60-C465-11CF-8056-444553540000}provider=%MSFT%DriverVer=08/05/1999[SourceDisksNames]1="BulkUsb Installation Disk",,,[SourceDisksFiles]BULKUSB.sys = 1BULKUSB.inf = 1[Manufacturer]%MfgName%=Microsoft[Microsoft]%USB\VID_045E&PID_930A.DeviceDesc%=BULKUSB.Dev, USB\VID_045E&PID_930A;[PreCopySection];HKR,,NoSetupUI,,1[DestinationDirs]BULKUSB.Files.Ext = 10,System32\DriversBULKUSB.Files.Inf = 10,INF[BULKUSB.Dev]CopyFiles=BULKUSB.Files.Ext, BULKUSB.Files.InfAddReg=BULKUSB.AddReg[BULKUSB.Dev.NT]CopyFiles=BULKUSB.Files.Ext, BULKUSB.Files.InfAddReg=BULKUSB.AddReg[BULKUSB.Dev.NT.Services]Addservice = BULKUSB, 0x00000002, BULKUSB.AddService[BULKUSB.AddService]DisplayName = %BULKUSB.SvcDesc%ServiceType = 1 ; SERVICE_KERNEL_DRIVERStartType = 3 ; SERVICE_DEMAND_STARTErrorControl = 1 ; SERVICE_ERROR_NORMALServiceBinary = %10%\System32\Drivers\BULKUSB.sysLoadOrderGroup = Base[BULKUSB.AddReg]HKR,,DevLoader,,*ntkernHKR,,NTMPDriver,,BULKUSB.sysHKLM,"System\Currentcontrolset\Services\BulkUsb\Parameters","MaximumTransferSize",0x10001,4096 HKLM,"System\Currentcontrolset\Services\BulkUsb\Parameters","DebugLevel",0x10001,2[BULKUSB.Files.Ext]BULKUSB.sys[BULKUSB.Files.Inf]BulkUsb.Inf;---------------------------------------------------------------;[Strings]MSFT="Microsoft"MfgName="Intel"USB\VID_045E&PID_930A.DeviceDesc="BulkUsb.Sys Intel 82930 USB Bulk IO Test Board"BULKUSB.SvcDesc="BulkUsb.Sys i82930 Bulk IO test driver"INF文件详解从上面完整的例子来看,可以对INF文件有的一个总体的印象,包括INF文件中包括的段,以及各段的书写格式。
USB的数据格式概述
USB的数据格式概述和其他的一样,USBUSB数据是由二进制数字串构成的,首先数字串构成域(有七种),域再构成包,包再构成事务(IN、OUT、SETUP),事务最后构成传输(中断传输、并行传输、批量传输和控制传输)。
下面简单介绍一下域、包、事务、传输,请注意他们之间的关系。
(一)域:是USB数据最小的单位,由若干位组成(至于是多少位由具体的域决定),域可分为七个类型:1、同步域(SYNC),八位,值固定为0000 0001,用于本地时钟与输入同步2、标识域(PID),由四位标识符+四位标识符反码构成,表明包的类型和格式格式,这是一个很重要的部分,这里可以计算出,USB的标识码有16种,具体分类请看问题五。
3、地址域(ADDR):七位地址,代表了设备在主机上的地址,地址000 0000被命名为零地址,是任何一个设备第一次连接到主机时,在被主机配置、枚举前的默认地址,由此可以知道为什么一个USB主机只能接127个设备的原因。
4、端点域(ENDP),四位,由此可知一个USB设备有的端点数量最大为16个。
5、帧号域(FRAM),11位,每一个帧都有一个特定的帧号,帧号域最大容量0x800,对于同步传输有重要意义(同步传输为四种传输类型之一,请看下面)。
6、数据域(DATA):长度为0~1023字节,在不同的传输类型中,数据域的长度各不相同,但必须为整数个字节的长度7、校验域(CRC):对令牌包和数据包(对于包的分类请看下面)中非PID域进行校验的一种方法,CRC校验在通讯中应用很泛,是一种很好的校验方法,至于具体的校验方法这里就不多说,请查阅相关资料,只须注意CRC码的除法是模2运算,不同于10进制中的除法。
(二)包:由域构成的包有四种类型,分别是令牌包、数据包、握手包和特殊包,前面三种是重要的包,不同的包的域结构不同,介绍如下1、令牌包:可分为输入包、输出包、设置包和帧起始包(注意这里的输入包是用于设置输入命令的,输出包是用来设置输出命令的,而不是放据数的)其中输入包、输出包和设置包的格式都是一样的:SYNC+PID+ADDR+ENDP+CRC5(五位的校验码)(上面的缩写解释请看上面域的介绍,PID码的具体定义请看问题五)帧起始包的格式:SYNC+PID+11位FRAM+CRC5(五位的校验码)2、数据包:分为DATA0包和DATA1包,当USB发送数据的时候,当一次发送的数据长度大于相应端点的容量时,就需要把数据包分为好几个包,分批发送,DATA0包和DATA1包交替发送,即如果第一个数据包是DATA0,那第二个数据包就是DATA1。
USB的描述符详解总结剖析
USB的描述符与命令请求详解一、描述符1.什么是描述符所谓描述符,就是用于描述设备特性的具有特定格式排列的一种数据组织结构。
2.描述符的作用描述符的作用在于设备向主机汇报自己的信息、特征,主机根据这些信息从而加载相应的驱动程序。
3.描述符的分类描述符分为三大类:标准描述符、设备类描述符、厂商描述符。
除字符串描述符可选外,任何设备都必须包含剩下的几种标准描述符。
在USB1.0中规定了5种标准的描述符:设备描述符配置描述符接口描述符端点描述符字符串描述符规定的设备类描述符有:集线器类描述符、人机接口类描述符。
下表是三种描述符的类型值:4.使用的几种类设备类DeviceClass下表是设备类值的含义。
接口类InterfaceClass下表是接口类值的含义。
类的交叉与独享在描述符中,只有设备描述符和接口描述符中会有类别之分,即只有设备和接口会分类使用,不过有些类别的使用只需经过设备或接口的区分就可彻底清楚明白,这说明在设备类别和接口类别的定义上会有共同的类别名称。
而有些类别则是设备或接口独享的,下表是与使用设备相关的类别划分交叉或共享情况:(此表也适用于标准命令Get_Descriptor中wValue域高字节的取值含义)【说明:】在设备或接口分类上均可彻底分清使用的(Usage = Both),即在任一处描述符中定义即可的分清楚使用的类(Usage = Both)的基本类有:02h ------------- 通信及CDC控制类;DCh ------------ 诊断设备类;EFh ------------- 混杂设备类;FFh ------------- 厂商定义的设备类。
5.标准描述符设备描述符【说明1:】当设备类型bDeviceClass = 0时,说明类型将由接口描述符中定义的为准。
【说明2:】从设备描述符表格中可知,有3个索引值:厂商信息索引、产品信息索引、设备序列号索引,这意味着,将有3个字符串描述符为其准备。
USB报告描述符详细解析
USB报告描述符详细解析
USB报告描述符是对USB设备上的功能指定的一系列键值对,它们描
述了USB设备提供的服务,以及它如何使用USB总线。
USB报告描述符可
以让计算机可以正确地识别USB设备,并且可以正确地处理它们发送的数据。
报告描述符由一个全局报告描述符和一个或多个功能报告描述符组成。
全局报告描述符描述了整个USB设备,包括设备的厂商ID,产品ID,序
列号,版本号等全局信息。
一个功能报告描述符描述一些功能,或者一组
相关功能。
功能报告描述符向计算机提供有关每个功能的信息,包括功能
类型,最大报告大小,功能字节级访问信息,功能特征集,报文信息等。
USB设备可以在接口上提供多种功能,因此,可以有一个或多个功能
报告,每个功能报告描述符都将描述特定的功能。
例如,触摸板USB设备
可能提供多个功能报告描述符,每个描述符描述一个功能,如触摸屏,键盘,鼠标,笔,滚轮等。
USB报告描述符需要遵守USB协议,确保报告描述符中包含的信息传
输正确。
USB报告描述符除了包括数据传输信息外,还会描述USB设备的
更多信息,如设备功能,设备参数,配置参数,接口位置,电源参数,安
全功能等。
inf 文件详解
;01 ;current directory
;04 ;backup directory
;10 ;windows directory
;11 ;system dir
;12 ;iosubsys
;13 ;command
;14 ;control panel directory
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,GeneralTab,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,Cache,1,0
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerControl Panel,History,1,0
;15 ;printers directory
;16 ;workgrou dir
;17 ;inf dir
;18 ;help dir
;19 ;administration dir
;20 ;fonts
;21 ;viewers
;22 ;vmm32
;23 ;color dir
;解禁IE的Internet选项
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerRestrictions,NoBrowserOptions,1,0
;解禁IE的Internet选项里面的各个具体选项
HKCU,SoftwarePoliciesMicrosoftInternet ExplorerRestrictions,NoBrowserOptions,1,0
USB的描述符详解总结
USB的描述符详解总结
USB是一种通用串行总线,全称Universal Serial Bus,通常被称为USB。
它是由Intel公司于1996年推出的,由7组信号和4根线组成,支持高速数据传输。
使用USB接口,各个计算机硬件设备可以连接在一起,实现数据的传输和共享。
USB描述符是一类标准文件,是用来描述USB设备的硬件特性,如设备的功能、总线的速率等。
它由USB设备厂商设计,是由设备驱动程序识别和使用USB设备的关键文件。
据统计,USB描述符已经在全球范围内普及,可以应用于任何USB设备。
USB描述符通常由Device Descriptor(设备描述符)、Configuration Descriptor(配置描述符)、Interface Descriptor(接口描述符)、Endpoint Descriptor(端点描述符)和Class Descriptor (类描述符)组成。
这5种描述符是USB设备描述文件的基本类型,它们描述了USB设备的功能、规格、总线协议等信息。
Device Descriptor(设备描述符)是USB设备的基本描述文件,主要包括设备的VID(vendor ID,厂商编号)、PID(产品编号)、Class、Subclass、Protocol(协议版本)、MaxPower(最大功耗)等。
设备描述符是其他描述符的基础,可以用来识别和枚举设备。
Configuration Descriptor(配置描述符)是描述USB设备配置的描述文件,主要包括配置属性、总线电源类型、接口数。
Inf文件详解
Inf文件详解Inf文件是一种用于安装、配置和管理Windows操作系统和应用程序的文本文件。
它包含了一系列指令和设置,用于指导操作系统或者应用程序在安装过程中进行必要的配置和操作。
本文将详细介绍Inf文件的结构、语法和常见用途。
一、Inf文件的结构Inf文件采用纯文本格式,通常以.inf为文件扩展名。
它由多个节(Section)组成,每一个节包含一组相关的指令和设置。
Inf文件的基本结构如下:```[Section1]Directive1=Value1Directive2=Value2[Section2]Directive3=Value3Directive4=Value4```Inf文件中的每一个节都以方括号括起来,并且节的名称是不区分大小写的。
每一个节下面可以包含多个指令(Directive),指令由指令名称和对应的值组成,中间用等号连接。
指令和值之间可以用空格或者制表符进行分隔。
二、Inf文件的语法Inf文件的语法相对简单,主要包括注释、指令和值三个部份。
1. 注释:以分号(;)开头的行被视为注释,用于对Inf文件进行说明和解释,不会被操作系统或者应用程序执行。
示例:```; This is a comment line```2. 指令:指令是Inf文件中最重要的部份,用于定义操作系统或者应用程序的配置和操作。
常见的指令有以下几种:- AddReg:用于向系统注册表中添加指定的键值对。
示例:```[Section1]AddReg=Section2```- CopyFiles:用于将指定的文件复制到指定的目录。
示例:```[Section1]CopyFiles=Section2```- DelReg:用于从系统注册表中删除指定的键值对。
```[Section1]DelReg=Section2```- DelFiles:用于删除指定的文件。
示例:```[Section1]DelFiles=Section2```- RegisterDlls:用于注册指定的动态链接库文件。
USB禁用usbstor
USB禁⽤usbstorUSB禁⽤usbstor⾬夜·知识库为了对USB更彻底的控制本次更新将对系统的usbstor.inf和usbstor.pnf的⽂件权限进⾏控制这两个⽂件位于windows\inf⽬录下(这两个⽂件是USB存储设备的驱动⽂件,本策略的原理是利⽤NTFS权限阻⽌普通⽤户加载驱动),注意事项:(1)使⽤前请确认你的系统盘使⽤的是NTFS权限,否则此策略将⽆效。
(2) 此策略只能对计算机,不针对⽤户1、打开组策略编辑器gpmc,选择计算机配置--安全设置--⽂件系统;2、在右边单击⿏标右键选择--添加⽂件;3、选择系统⽬录下的C:\windows\inf\usbstor.inf⽂件,单击确定;4、出现权限设置对话框,注意这⼀步很重要⼀定要删除所有的组;5、出现如下对话框,继续单确定;6、按照如上⽅法再把C:\windows\inf\usbstor.pnf添加进去,如下图;7、找⼀台客户端计算机验证策略,强制刷新策略,重新启动计算机;8、查看客户端计算机c:\windows\inf\usbstor.inf及usbstor.pnf的NTFS权限,发现⾥⾯所有安全组已被删除。
策略应⽤成功,普通⽤户⽆法再使⽤USB存储设备。
详细操作如下:1,在DC⾥的OU⾥新建⼀条GPO组策略2、添加⾄组策略----计算机配置----管理模板中,3、注意在“查看”----“筛选”中去掉“只显⽰能完全管理的策略设置”前⾯的勾4、右键管理模板--点添加删除模板--添加usb.adm的模板⽂件--点关闭窗⼝中出现custom policy settings进⼊,就可以看到那个设备的,右键你想设置的设备如disable usb 出现属性对话框点已启⽤在disable usb ports 中选enabled确定后重启计算机,就会发现usb接⼝不能⽤了,要恢复就禁⽤或选disabled,其它设备也是同样的操作.为了⽅便⼤家阅读重新更新了⼀下图⽚.正确的使⽤⽅法是在要设置的驱动器⾥选择”Disabled”或”Enabled”例1:禁⽤软驱;“Disabled Floppy”->选择disabled Floppy Drive为“Enabled”。
INF说明
实例四:让Windows认识改造硬件
Analog Device公司为板载声卡提供了配套的SoundMAX驱动程序,通过安装在主板上的Codec与预告加载的音频渲染软件结合在一起,提供了广受欢迎的Yamaha DLSbyXG音色库和Sensaura 5.1 Virtual Theater环绕声,并且支持所有主流游戏音频技术,可惜的是只支持AD188x、AD189x、AD198x等有限的芯片。如果你的板载声卡使用了其他公司的芯片,在安装时将无法继续。
原来,Windows对于那些未通过WHQL认证的设备驱动程序,安装时并未直接将相应的INF文件复制到C:\Windows\INF\文件夹中,而是进行了重新命名,以便系统识别和管理,当然这些文件的位置并未改变。它们的文件名以oem*开头,这里的“*”代表具体的数字,从0开始,其内容构成与普通的INF文件没有什么区别。
1. [version]:版本信息
Signature="WINDOWS NT":这表示驱动程序适用于Windows 2000/XP操作系统,如果是Windows 9x/Me则应该是“CHICAGO”。
Class:设备类型,这里的“Processor”表示中央处理器,即我们通常所说的CPU。如果是显卡设备的INF文件,这里会显示为“Display”,光驱设备是“CD-ROM”,显示器是“Monitor”,声卡等多媒体设备是“Media”,网卡是“Net”,打印机是“Print”,摄像头是“Image”。
安装INF文件
通常情况下,硬件厂商已经将驱动程序打包为一个安装程序或自解压程序,我们只需直接执行Setup.exe或??.exe即可,不过笔者建议还是安装INF文件为好,这样不会同时安装一些无用的垃圾文件。
Inf文件详解
Inf文件详解Inf是一个头疼的东西,主要它是一个不用语言而是用配置文件来处理的文件,安装的时候无法调试,(Windbg 可以在驱动中设断点,但不能在.inf文件中停住),只有一个日志文件可以参考,而且一个INF文件用到了不同的语法,完全看懂Inf文件曾经是我的一个梦想,原来我都是Copy别人的文件再改改,其实我没有完全弄明白,那好,请我们先沉着迎战,这篇文章是我看过的写的最好的一个讲Inf文件的文章,其实我看的好像就只有这一篇,哈哈(不算MSDN和OSR)。
给大脑不大的熊的Inf 文件给给大大脑脑不不大大的的熊熊的的Inf 文文件件(原文标题很奇怪,看了就知道了,这个可是潜心找到的,不容易找的,真的是可遇不可求啊)从前的一天,我在百英亩的森林里散步,一个动物过来搭话。
"不好意思"一个小粉猪问道."但但但是你知道Windows设备驱动,因为, 如果你知道, 我们的朋友需要一些帮助", 他说, 指向一个小熊。
(小熊前面有好多修饰词,俺不懂没有翻译,好像是穿着吊带裤,哈哈)"你需要什么帮助?", 我问这个小熊."嗯", 小熊回答道,"我是一个大脑不大的小熊,我写了一个Windows设备驱动,但我不知道如何安装它"."你所要做的是, 写一个.INF文件,它描述你所控制的驱动和设备,告诉Windows操作系统",我说."嗯, 顺便问一下,你的驱动控制的是什么设备呢?"."它是一个蜂蜜(hunny)过滤驱动.它去掉泥土和蜜蜂和其他的杂物。
这可是我的发明。
", 它相当骄傲的说(hunny应该是蜂蜜,不过我没有查到这个单词)"嗯", 我自己想,"这个大脑不大的小熊还不错嘛"."你想, 也就是说, 你是否知道如何去写一个这种"电鹰覆文件"", 小熊问道."当然, 为什么我们不坐下来,我来告诉你关于.INF文件的所有信息,嗨,都到哪里去了?回来!它们不是那么难!"一小群动物出现了, 一个接一个, 带着恐惧的眼神。
U盘中的inf文件
U盘中的inf文件我相信很多人的U盘中可能出现过inf文件,比如大家大家常见的autorun.inf文件,大部分人认为那是U盘的病毒文件,其实不完全正确(也可以被我们利用防病毒),要看文件里写的是什么命令,如何判断是不是有害的呢?其实很简单,下面让我简单的介绍一下.inf 文件.I NF结构(有兴趣就看看):1.Version节每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。
在该节中如果出现“signature="$CHICAGO$"”这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,如果包含“signature="$Windows NT$"”这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。
另外,该节中“CLASS”条目很重要,它表明了设备的类型,常见的类型有:Display (显示设备,如显卡)、Media(多媒体设备,如声卡)、Net(网络设备,通常是网卡)、Modem (调制解调器)、Printer(打印设备)、Image(图像捕获设备,如摄像头)。
2.Manufacturer节该节中的条目主要是描述INF文件可以识别的所有硬件设备,其中包含有设备的生产厂家,以便设备的正确安装。
如“%A Ti%=ATi”指明设备的生产商为“A Ti”,这个大家都不会陌生吧,是显卡的生产商。
3.SourceDisksNames节该节主要指明安装文件所在的介质。
如:“1="ATi Drivers Release CD"”表明所有驱动程序都在零售版的CD盘上。
4.SourceDiskFiles节驱动程序文件列表及被安装的位置,该节必须结合[SourceDisksNames]节才能知道具体的位置。
如“atinbtxx.sys=1”,则你必须到[DestinationDirs]节去查看“1”具体代表那个位置。
usb标准描述符详解
一、基本概念1、USB协议本身很复杂,但方便在提供了统一的接口方式,使得驱动程序在使用设备的时候,工作简化到了类似操作串行接口。
2、USB设备可以看作提供了多个串口的设备,依据USB的规范,我们将每个串口称作端点(Endpoint),要和这个端点通信,我们就要打开到这个端点的连接,这个连接就是管道(Pipe)。
3、打开端点之后,就可以像串口一样进行数据传输了。
USB有4种不同类型的传输方式:控制传输(Control Transfer),批量传输(Bulk Transfer),中断传输(Interrupt Transfer)和实时传输(IsochTransfer)。
4、由于一个设备可能要适应多种情况,端点的设置会有多套,以备使用。
端点设置称为接口(Interface)。
USB设备展现给我们能够找到的东西就是这些Interface,我们选择要用的Interface,就可以找到Endpoint,再打开Endpoint,就可以传输数据了。
所以,在驱动程序开始的时候,需要记录下这些Interface。
5、例如:OV511+的端点0是控制端点,用来设置参数以及起停设备;端点1是实时传输端点,用来传输视频。
端点1有8套不同的设置,主要区别就在于一次传输的数据帧的大小,所以在USBDeviceAttach的时候,要记录这些设置到驱动程序中,后面才能够选用。
二、描述符介绍标准的USB设备有5种USB描述符:设备描述符,配置描述符,字符串描述符,接口描述符,端点描述符。
下面详解:1、设备描述符:一个设备只有一个设备描述符typedef struct _USB_DEVICE_DESCRIPTOR_{BYTE bLength,BYTE bDescriptorType,WORD bcdUSB,BYTE bDeviceClass,BTYE bDeviceSubClass,BYTE bDeviceProtol,BYTE bMaxPacketSize0,WORD idVenderI,WORD idProduct,WORD bcdDevice,BYTE iManufacturer,BYTE iProduct,BYTE iSerialNumber,BYTE iNumConfiguations}USB_DEVICE_DESCRIPTOR;bLength : 描述符大小.固定为0x12.bDescriptorType : 设备描述符类型.固定为0x01.bcdUSB : USB 规范发布号.表示了本设备能适用于那种协议,如2.0=0200,1.1=0110等.bDeviceClass : 类型代码(由USB指定)。
USB描述符的分类与介绍讲解
USB描述符的分类与介绍讲解
USB描述符是用于计算机与外围设备之间进行沟通的一种机制,它的
作用是将计算机的设备,例如USB鼠标、USB打印机等,定义为外围设备,以便于计算机可以理解外围设备的特性,并能够与它们进行交互。
计算机
访问设备的方式就是通过USB描述符,因此USB描述符对于实现USB设备
的连接外部设备至关重要。
此外,USB描述符中还定义了不同设备的特性,以便于计算机可以更
好地识别外围设备,从而便于系统更好地工作。
USB描述符可以分为三类:第一类是基本描述符,主要用于描述USB设备的基本信息,如设备的
类别、版本号等,其主要目的是支持系统驱动程序的正确加载,这样就可
以使外接设备与系统进行沟通。
第二类是特性描述符,其主要用于对USB设备的特性进行描述,例如
电压、电流、数据传输速率等,这样就可以保证USB设备在使用时能得到
最佳的性能。
第三类是配置描述符,它是用于描述USB设备配置的,通常用于说明USB设备总线的类型、端口数量等信息,以便于系统能够正确地识别该设
备并能让外围设备安全地连接到外部设备。
usbfile方法解析
usbfile方法解析USBFile方法是一个处理USB存储设备文件的方法,它提供了一些功能用于读写、查找和管理USB存储设备上的文件。
下面是对USBFile方法进行详细解析,包括其功能和用法示例。
1.打开USB存储设备文件:使用USBFile方法,我们可以通过指定USB存储设备的路径来打开一个文件,并返回一个文件句柄。
例如,我们可以使用以下代码打开一个叫做"test.txt"的文件:```USBFile file = USBFile.Open("/mnt/usb/test.txt", FileAccess.ReadWrite);```在这个示例中,我们使用USBFile类的静态Open方法打开了一个USB存储设备上的文件。
该方法接受两个参数:文件路径和文件访问模式(读、写或读写)。
在这个示例中,我们指定了文件路径为"/mnt/usb/test.txt",并且使用了读写访问模式。
2.读取文件内容:打开文件后,我们可以使用USBFile类的Read方法来读取文件的内容。
例如,我们可以使用以下代码读取文件的前100个字节:```byte[] buffer = new byte[100];int bytesRead = file.Read(buffer, 0, buffer.Length);```在这个示例中,我们创建了一个长度为100的字节数组作为缓冲区,然后使用Read方法读取文件中的数据。
该方法接受三个参数:缓冲区,读取的起始位置和读取的字节数。
方法返回读取的字节数,并将读取的数据存储在缓冲区中。
3.写入文件内容:除了读取文件内容,我们还可以使用USBFile类的Write方法来写入文件的内容。
例如,我们可以使用以下代码向文件中写入一段文本:```byte[] data = Encoding.UTF8.GetBytes("Hello, USBFile!");file.Write(data, 0, data.Length);```在这个示例中,我们将一段文本转换为字节数组,并使用Write方法将数据写入文件中。
INF-USB2和SI-USB快速入门指南说明书
•INF-USB2 and SI-USB Quick StartGuidePlease follow these instructions carefully. DO NOT connect the INF-USB2 or SI-USB module to your computer before running the setup program.After running Setup and then connecting the USB module, Windows will find two new pieces of hardware.a. Interface USB sensor Interface Deviceb. Interface USB sensor Interface PortWindows must be allowed to install drivers for BOTH items.After the hardware is successfully installed, the INF-USB2 application software can be run.Software and Driver Installation Procedure1. Download the file Setup_INF-USB2_SI-USB.zip from thePDFs/Downloads tab of the INF-USB2_SI-USB product page at2. Open INF-USB.zip run Setup_INF-USB2.exe.3. During installation the full INF-USB /SI-USB Operation Manual will beinstalled on your hard drive and can be accessed in the start menu folder INF-USB2.4. You may see a screen asking for permission to install the program orwarning about unverified publishers. Click yes to continue.5. When the INF-USB2 setup screen appears click Next.6. The installation will proceed.7. Click finish to complete the installation8. Connect USB module to an available USB port on PC.9. Windows will find new hardware called Interface USB sensor InterfaceDevice. Select “Install the software automatically” and click Next.10. You may get a warning that the software has not passed Windows LogoTesting. If so, Continue Anyway.11. Once the installation is complete, click Finish.12. Windows will then find the second new piece of hardware, Interface USBSensor Interface Port. Select “Install the software automatically” and click Next. Again, if you get a warning about Windows Logo Testing, just click Continue Anyway.13. Software and Driver installation is now complete. There will be an icon onyour desktop labeled INF-USB2-VS and a folder in your Start Menulabeled INF-USB2.14. Click on the INF-USB2-VS icon to launch the software. The software willopen and find an attached device. If the software fails to find a device then the drivers loaded incorrectly. In this case:a. Go to device managerb. Find portsCorrectly installedIncorrectly installedc. Right click on USB Sensor Interface Device and click “update driversoftware…”d. Select “Browse my computer for driver software”e. Navigate to the C:\INF-USB2\Win_xp_vista_s2k3_7, click OK andthen NEXT.f. Device driver software should now install correctly.SOFTWARE QUICK STARTWhen the software is first started it will search for a connected USB module. If a supported device is not found please make sure the USB module is connected properly.SOFTWARE LAYOUTNavigation BarUsed for configuring software and saving data. If at any time the Navigation disappears, it can be re-instated in the View menu.Measuring Control AreaUsed for starting and stopping the measurement. Configuration changes can only be made in “Stopped” mode.Clicking the “Control” box engages the installed shunt resistor. Display Area Displays current value, as well as Min and and Max data, Min and Max Reset, and Tare. Data is “LIVE” only after clicking“Measure Start” button Diagram Area Visualization of data. Diagram auto scales to fit data range. Meas./Diagram Mode Click here to enter measuring and diagram mode. This mode is where all measurements are made.SOFTWARE CONFIGURATIONIf the USB Module and Transducer were purchased as a set, the software will automatically recognize the sensor and display in engineering units such as lbf, N, NM or lb-in. Otherwise, the display will read in units of sensor output, such as mV/V or V.To change the units of measure, click on Measure Adjust folder in the Adjust Mode folderMeasure AdjustFirst click on the Change box under Scaling.A Scaling Change dialog box will appear containing 3 input boxes.Box 1 Box 2 Box 3Scaling Using Values from the Sensor’s Cali bration CertificateNow enter the Sensor Output in the first box, the Sensor Capacity in the second box, and the Unit of Measure in the 3rd box. These items can be found on your sensor calibration certificate. If the calibration certificate is not available, see the next section, Scaling Using a Known Load. For example, if you have a 10 lbf capacity load cell with 3.21237 mV/V output you would enter the following values:1. 3.212372. 103. lbfIn this example you couldBox 1 Box 2 Box 3also configure the softwareto display in N by entering1. 3.212372. 44.48223. NAfter entering the values, click Change to save. The scaling is stored in non-volatile memory on the USB module.Scaling Using a Known LoadIf the sensor calibration certificate is unavailable, you can use an applied load to scale the software. CAUTION: Do not use the “Read actually measvalue” box. Instead, follow the procedure below.1. Set the software to display in units of mV/V. This can be done by clicking inthe Units drop-down menu and selecting mV/V.2. Start with the unloaded transducer. Some tare weight is ok, but do not applythe known load.3. In measuring modea. click start measureb. click tare until the display reads 0 mV/Vc. apply known loadd. record the displayed mV/V valuee. remove known load and make sure the display returns to 0 mV/V. Ifnot, repeat steps a thru e.4. You will now have a recorded mV/V value equal to your known load. Now goto the section above titled Scaling Using Values from the Sensor’s Calibration Certificate.a. Enter your recorded mV/V value in Box 1b. Enter the value of the applied load in Box 2c. Enter the unit of measure in Box 3.MEASURING MODETo start a measuring cycle, you must be in Measuring/Diagram Mode. To enter Measuring/Diagram mode, click the green arrow.Meas/Diagram ModeClicking on Measure Start begins a measurement.After the measurement is complete, click Measure Stop. You can then save the data to a .csv file by selecting Save Measvalue in the File folder. The Diagram can also be saved as a .jpg file by clicking Save Diagram.The software can also be configured to save the measured values and diagrams automatically. For further detail, please refer to the full INF-USB2 SI-USB Operation Manual installed in your start menu folder during Setup. The start menu folder is labeled INF-USB2.。
INF文件说明
INF文件说明/read.php?tid=55093&page=e目录#1.目录#2. inf 文件说明#3.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]开始执行安装。
其它的节可以自定义,下面用一实例来具体讲解。
程序代码[Version]Signature=$Chicago$Provider=%Author%[Strings]Product="添加文件关联演示"Version="1.0"Author="Xunchi"Copyright="Copyright 2005"CustomFile="inf" ;修改您需要的文件名后缀Program="NOTEPAD.EXE" ;修改您需要关联的应用程序名[Add.Reg]HKCR,"."%CustomFile%,"",FLG_ADDREG_TYPE_SZ ,%CustomFile%File HKCR,%CustomFile%File,"",FLG_ADDREG_TYPE_SZ,安装信息HKCR,%CustomFile%"File\shell","",FLG_ADDREG_TYPE_SZ,openHKCR,%CustomFile%"File\shell\open\command","",FLG_ADDREG_TYPE_SZ,%pro gram% %1[DefaultInstall]AddReg=Add.Reg在[Version]节中"Signature"项定义了该INF文件需要运行在何种操作系统版本中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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=USBClassGUID={36FC9E60-C465-11CF-8056-444553540000}provider=%MSFT%DriverVer=08/05/1999[SourceDisksNames]1="BulkUsb Installation Disk",,,[SourceDisksFiles]BULKUSB.sys = 1BULKUSB.inf = 1[Manufacturer]%MfgName%=Microsoft[Microsoft]%USB\VID_045E&PID_930A.DeviceDesc%=BULKUSB.Dev,USB\VID_045E&PID_930A;[PreCopySection];HKR,,NoSetupUI,,1[DestinationDirs]BULKUSB.Files.Ext = 10,System32\DriversBULKUSB.Files.Inf = 10,INF[BULKUSB.Dev]CopyFiles=BULKUSB.Files.Ext, BULKUSB.Files.InfAddReg=BULKUSB.AddReg[BULKUSB.Dev.NT]CopyFiles=BULKUSB.Files.Ext, BULKUSB.Files.InfAddReg=BULKUSB.AddReg[BULKUSB.Dev.NT.Services]Addservice = BULKUSB, 0x00000002, BULKUSB.AddService[BULKUSB.AddService]DisplayName = %BULKUSB.SvcDesc%ServiceType = 1 ; SERVICE_KERNEL_DRIVERStartType = 3 ; SERVICE_DEMAND_STARTErrorControl = 1 ; SERVICE_ERROR_NORMALServiceBinary = %10%\System32\Drivers\BULKUSB.sysLoadOrderGroup = Base[BULKUSB.AddReg]HKR,,DevLoader,,*ntkernHKR,,NTMPDriver,,BULKUSB.sysHKLM,"System\Currentcontrolset\Services\BulkUsb\Parameters","Maxi mumTransferSize",0x10001,4096HKLM,"System\Currentcontrolset\Services\BulkUsb\Parameters","Debu gLevel",0x10001,2[BULKUSB.Files.Ext]BULKUSB.sys[BULKUSB.Files.Inf]BulkUsb.Inf;---------------------------------------------------------------;[Strings]MSFT="Microsoft"MfgName="Intel"USB\VID_045E&PID_930A.DeviceDesc="BulkUsb.Sys Intel 82930 USB Bulk IO Test Board"BULKUSB.SvcDesc="BulkUsb.Sys i82930 Bulk IO test driver"INF文件详解从上面完整的例子来看,可以对INF文件有的一个总体的印象,包括INF文件中包括的段,以及各段的书写格式。
下面详细介绍组成INF文件的各个段。
1、[Version]段习惯上,每个INF文件都开始于一个Version段,这段确定文件中描述的设备类型,上述范例中的Verson段有如下几条语句:Signature=”$CHICAGO$”Class=USBClassGUID={36FC9E60-C465-11CF-8056-444553540000}provider=%MSFT%DriverVer=08/05/1999Signature指定使用此INF文件的操作系统,可以是$Chicage$、$Windows NT$(含有一个空格)、$Windows 95$(含有一个空格)之一,定界符$必不可少,且这些串是不分大小写的。
如果Signature的值不是这些有效的串之一,该INF文件就被人为无效。
如果一个INF文件用来向Windows 2000和Windows 98两个平台上安装设备驱动程序,它必须通过DDInstall段来增加系统定义的扩展指定任意操作系统特有的安装信息,而不管Signature是何值。
Class指定设备的类名,此范例中指定的是USB类。
ClassGuid指定设备注册表的GUID,GUID是一个128位的标识符,DDK头文件DEVGUID.h定义了标准设备类的GUID。
Provide标志该INF文件的提供者。
%MSFT%的具体内容将在Strings段中定义,范例中的定义是MSFT=”Microsoft”,表明该INF文件的提供者是Microsoft。
DriverVer条目提供整个INF文件的版本信息,在每个Install段中加上DriverVer条目,为驱动程序提供版本信息。
Install段的驱动程序版本条目更具有专用性,并且比Version段的全局DriverVer条目日期具有更高的优先级。
当操作系统搜索驱动程序时,他会选择一个具有更近的DriverVer日期的驱动程序代替一个较早的驱动程序。
如果一个INF没有DriverVer条目,操作系统将会用缺省的日期00/00/0000。
2、[SourceDiskNames]段该段制定并且命名一个或多个包含源文件的磁盘,这些源文件用于文件拷贝或者重命名操作。
该段可以有任意条目,每个条目对应一个源盘。
条目格式如下:disk=%strkey%|”disk-description”,[tagfile],[unused],[path]diskid是标志一个源盘的非负整数。
这个值可以是十六进制或者十进制的形式标示,但他不能占用多余4个字节的存储单元。
等式右边规定一个%strkey%标记或者一个引号引起来的串,描述由diskid所标示盘符的内容或目的。
在安装过程中安装程序可以给终端用户显示这个串值。
TagFile是一个可选的值,规定一个所带磁盘上提供的特征文件名,不规定任何目录和子目录。
安装程序使用特征文件核对用户插入正确的安装盘。
特征文件只能用于可移动的介质。
Unused值不用在Windows 2000中,只用在Windows 9x中。
Path也是个可选项,用于标识磁盘上包含源文件的目录路径。
范例中SourceDisksNames段的内容如下:[SourceDiskNames]1=”BulkUsb Installation Disk”…范例规定源盘为磁盘1,在安装期间,安装程序可以给终端用户显示字符串“BulkUsbInstallation Disk”。
3、[SourceDisksFiles]段该段命名安装过程中所用的源文件,标志包含这些源文件的磁盘(或者CD-ROM),并提供在所带磁盘上包含的每个文件的目录路径。
一个SourcesDisksFiles段可以有任意多条目,磁盘上每个文件都有一个条目。
它所包含的条目格式为filename=disked[,[subdir][,size]]。
Filename规定磁盘上源文件的名称;diskid对顶一个整数来标志包含源文件的磁盘,即在SourceDisksNames段中规定的diskid;subdir是个可选值,它规定了源磁盘上的文件所在的子目录,如果该条目省略,指定的源文件或者在给定磁盘的根目录中,或者在由SourceDisksNames段中的path条目所指定的目录;size也是个可选值,规定了给定文件的非压缩长度,其以字节标示。
范例中SourceDisksFiles段的内容如下:[SourceDisksFiles]BULKUSB.sys=1BULKUSB.inf=1范例中为两个文件建立的条目,这两个文件都在磁盘1中,并且在根目录下。
4、[Manufacturer]段该段标志一个或者多个用INF文件安装的设备的制造商,它也为制造商的设备即驱动程序的安装定义Models段名。
每个INF文件都必须有Manufacturer 段。