zoukankan      html  css  js  c++  java
  • INF Version Section详解

    最近在学习设备驱动程序方面,了解到安装sys文件需要INF文件,边学习边做笔记
    原文链接:http://msdn.microsoft.com/en-us/library/windows/hardware/ff547502(v=vs.85).aspx
    [Version]
     
    Signature="signature-name"
    [Class=class-name]
    [ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}]
    [Provider=%INF-creator%]
    [LayoutFile=filename.inf [,filename.inf]... ]  (Windows 2000 and Windows XP)
    [CatalogFile=filename.cat]
    [CatalogFile.nt=unique-filename.cat]
    [CatalogFile.ntx86=unique-filename.cat]
    [CatalogFile.ntia64=unique-filename.cat]  (Windows XP and later versions of Windows)
    [CatalogFile.ntamd64=unique-filename.cat]  (Windows XP and later versions of Windows)
    DriverVer=mm/dd/yyyy[,w.x.y.z]
    [DontReflectOffline=1] (Windows Vista and later versions of Windows)
    [PnpLockDown=0|1] (Windows Vista and later versions of Windows)
    [DriverPackageDisplayName=%driver-package-description%]
    [DriverPackageType=PackageType]
    
    
    
    Signature="signature-name"
    Signature值必须是"$Windows NT$" 或者 "$Chicago$",否则系统会认为这是个非法的INF文件。如果值是:"$Chicago$",
    表示该INF文件适用于Windows98之后得所有操作系统,如果该值为:"$Windows NT$",表示该INF文件支持Windows NT
    系列的操作系统。


    Class=class-name

    ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}

    Class值和ClassGuid值是一组相对应的值。
    class标记对应的设备类型,classguid标记该类对应的guid号。
    系统已经定义了一组标准设备类型,如电池设备,蓝牙设备,CD-ROM设备,串口设备,端口驱动,磁盘驱动等等,系统已定义
    的class和对应的classgui值详见网页:http://msdn.microsoft.com/en-us/library/windows/hardware/ff553426(v=vs.
    85).aspx此外还可以利用INF文件为系统添加自定义Class和ClassGuid。在系统注册表中的HKEY_LOCAL_MACHINE\SYST
    EM\ControlSet001\Control\Class下可以看到的系统定义的和自定义的所有classguid值


    Provider=%INF-creator%

    Provider值标记INF文件的提供者。


    LayoutFile=filename.inf [,filename.inf]...

    指定一个或多个系统提供的包含layout信息的INF文件,一般这个值可以省略,在vista和之后得系统中该域已被淘汰。而其需要

    的INF文件通常在 DDInstall sections中的Include和Needs域上添加,或者在SourceDisksNames section 和 SourceDis
    ksFiles section。LayoutFile域使用的两个理由:
    1.作为安装的一部分,INF安装过程中必需要操作系统提供的某些inf文件。
    2.在Include或Needs中引用的文件是不可安装的。


    CatalogFile=filename.cat

    指定一个在设备/驱动的发布过程需要包含的cat文件


    CatalogFile.nt=unique-filename.cat |

    CatalogFile.ntx86=unique-filename.cat |

    CatalogFile.ntia64=unique-filename.cat |

    CatalogFile.ntamd64=unique-filename.cat


    DriverPackageDisplayName=%driver-package-description%

    该值指定了驱动程序包的显示名。


    DriverPackageType=PackageType

    指定驱动程序包的类型。


    PnpLockDown=0|1

    指定即插即用是否阻止应用程序直接修改驱动程序包的INF中指定的文件。如果值是1,则阻止应用程序直接修改INF的CopyFiles
    中指定的文件。如果值是0或者没有指定PnpLockDown,则应用程序则有管理员权限去修改这些文件。驱动文件用这种方式防止
    第三方恶意修改文件。为了保证PnP驱动安装的完整性,程序不应该直接修改驱动程序包中INF文件复制的驱动文件,程序只有在
    操作系统更新PnP驱动后才去修改。Vista和之后的windows,都将PnpLockdown置为1。防止应用程序直接修改驱动文件。


    DriverVer=mm/dd/yyyy[,w.x.y.z]

    指定驱动的版本信息。mm/dd/yyyy标记日期,w.x.y.z标记版本号


    DontReflectOffline=1

    Vista和之后的系统版本才有该域的,第三方不用使用该域.

    
    

  • 相关阅读:
    Use Module and Function instead of Class in Python
    以命令行方式使用Desktop版Ubuntu
    python中两种拷贝目录方法的比较
    查找重复文件并删除的工具
    Manage sshd Service on CentOS
    Java多线程间的数据共享
    并发 总结
    MapReduce 过程分析
    java能不能自己写一个类叫java.lang.System/String正确答案
    生产者消费者模式--阻塞队列--LOCK,Condition--线程池
  • 原文地址:https://www.cnblogs.com/java20130722/p/3207203.html
Copyright © 2011-2022 走看看