zoukankan      html  css  js  c++  java
  • Devcon.exe 驱动管理工具使用

    示例1:查找所有硬件ID

    由于DevCon操作使用ID和ID模式来标识设备,因此使用DevCon的常见第一步是为计算机上的设备创建硬件ID参考文件。

    以下命令使用DevCon HwIDs操作,该操作返回ID和设备描述。它使用通配符(*)表示本地计算机上的所有设备。

    devcon hwids *
    

    由于输出很长且反复使用,因此请将输出保存在文本文件中以供参考。

    以下命令使用通配符(*)表示计算机上的所有设备。它使用重定向字符(>)将命令输出保存在hwids.txt文件中。

    devcon hwids * > hwids.txt
    

    以下命令在远程计算机Server01上查找设备的硬件ID。它使用/ m参数指定远程计算机的名称。该命令将输出重定向到server01_hwids.txt文件,以供以后参考。

    注意    除非用户在远程计算机上具有必需的权限,否则此命令将失败。要在远程计算机上运行DevCon命令,组策略设置必须允许即插即用服务在远程计算机上运行。在运行Windows Vista和Windows 7的计算机上,默认情况下,组策略禁用对服务的远程访问。在运行Windows Driver Kit(WDK)8.1和Windows Driver Kit(WDK)8的计算机上,远程访问不可用。

    devcon /m:\server01 hwids * > server01_hwids.txt
    

    示例2:使用模式查找硬件ID

    要查找特定设备的硬件ID,请输入硬件ID或模式,兼容的ID或模式,设备实例ID或模式或设备设置类的名称。

    以下命令使用DevCon HwIDs操作和一种模式来查找计算机上软盘驱动器的硬件ID。(用户假定该模式出现在设备标识符之一中。)该命令使用通配符(*)表示任何ID中可能在单词“ floppy”之前或之后的所有字符。

    devcon hwids *floppy*
    

    作为响应,DevCon显示计算机上软盘驱动器的设备实例ID,硬件ID和兼容ID。您可以在后续的DevCon命令中使用这些ID。

    FDCGENERIC_FLOPPY_DRIVE5&39194F6D&0&0
        Name: Floppy disk drive
        Hardware ID's:
            FDCGENERIC_FLOPPY_DRIVE
        Compatible ID's:
            GenFloppyDisk
    1 matching device(s) found.
    

    在这种情况下,短语“软盘”出现在计算机上仅一台设备的硬件ID或兼容ID中。如果它出现在多个设备的ID中,则其ID中带有“软盘”的所有设备都将出现在输出中。

    示例3:使用类查找硬件ID

    以下命令使用DevCon HwIDs操作和设备设置类在“端口”设备设置类中查找所有设备的硬件ID。类名前面的等号(=)表示它是一个类,而不是ID。

    devcon hwids =ports
    

    作为响应,DevCon将在“端口”设置类中显示三个设备的硬件ID和兼容ID。

    ACPIPNP04014&B4063F4&0
        Name: ECP Printer Port (LPT1)
        Hardware ID's:
            ACPIPNP0401
            *PNP0401
    ACPIPNP05011
        Name: Communications Port (COM1)
        Hardware ID's:
            ACPIPNP0501
            *PNP0501
    ACPIPNP05012
        Name: Communications Port (COM2)
        Hardware ID's:
            ACPIPNP0501
            *PNP0501
    3 matching device(s) found.
    

    示例4:列出本地计算机上的类

    由于DevCon操作可以使用设备设置类来标识设备,因此在计算机上创建设备的设备设置类的参考文件很有用。

    以下命令使用DevCon Classes操作,该操作返回计算机上所有类的列表和描述。

    devcon classes
    

    由于输出很长且反复使用,因此请将输出保存在文本文件中以供参考。

    以下命令显示计算机上的所有设备类别。它使用重定向字符(>)将命令输出保存在classes.txt文件中。

    devcon classes > classes.txt
    

    示例5:列出远程计算机上的类

    以下命令使用DevCon Classes操作列出远程计算机Server01上的设备设置类:

    devcon /m:\server01 classes
    

    由于输出很长且反复使用,因此请将输出保存在文本文件中以供参考。

    以下命令使用重定向字符(>)将命令输出保存在server01_classes.txt文件中。

    devcon /m:\server01 classes > server01_classes.txt
    

    示例6:在设备设置类中列出设备

    以下命令使用DevCon ListClass操作来列出Net(网络适配器的设备设置类)中的设备。

    devcon listclass net
    

    作为响应,DevCon在Net setup类中显示设备实例ID和每个设备的描述。

    Listing 6 device(s) for setup class "Net" (Network adapters).
    PCIVEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_784&BB7B4AE&0&60F0: 3Com 3C920 Integrated Fast Ethernet Controller (3C905C-TX Compatible)
    ROOTMS_L2TPMINIPORT000                                   : WAN Miniport (L2TP)
    ROOTMS_NDISWANIP000                                      : WAN Miniport (IP)
    ROOTMS_PPPOEMINIPORT000                                  : WAN Miniport (PPPOE)
    ROOTMS_PPTPMINIPORT000                                   : WAN Miniport (PPTP)
    ROOTMS_PTIMINIPORT000                                    : Direct Parallel
    

    尽管有趣,但该显示未提供Net setup类中设备的硬件ID。以下命令使用DevCon HwIDs操作来列出Net setup类中的设备。DevCon HwIDs命令中,类名前面带有等号(=),以表明它是一类,而不是ID。

    devcon hwids =net
    

    结果显示列出了Net类中的设备,并包括该类中设备的实例ID,硬件ID和兼容的ID。

    PCIVEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_784&BB7B4AE&0&60F0
        Name: 3Com 3C920 Integrated Fast Ethernet Controller (3C905C-TX Compatible)
        Hardware ID's:
            PCIVEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78
            PCIVEN_10B7&DEV_9200&SUBSYS_00BE1028
            PCIVEN_10B7&DEV_9200&CC_020000
            PCIVEN_10B7&DEV_9200&CC_0200
        Compatible ID's:
            PCIVEN_10B7&DEV_9200&REV_78
            PCIVEN_10B7&DEV_9200
            PCIVEN_10B7&CC_020000
            PCIVEN_10B7&CC_0200
     PCIVEN_10B7
            PCICC_020000
     PCICC_0200
    ROOTMS_L2TPMINIPORT000
        Name: WAN Miniport (L2TP)
        Hardware ID's:
            ms_l2tpminiport
    ROOTMS_NDISWANIP000
        Name: WAN Miniport (IP)
        Hardware ID's:
            ms_ndiswanip
    ROOTMS_PPPOEMINIPORT000
        Name: WAN Miniport (PPPOE)
        Hardware ID's:
            ms_pppoeminiport
    ROOTMS_PPTPMINIPORT000
        Name: WAN Miniport (PPTP)
        Hardware ID's:
            ms_pptpminiport
    ROOTMS_PTIMINIPORT000
        Name: Direct Parallel
        Hardware ID's:
            ms_ptiminiport
    6 matching device(s) found.
    

    示例7:列出远程计算机上多个类别的设备

    以下命令使用DevCon ListClass操作列出远程计算机Server01上DiskDrive,CDROM和TapeDrive类中的设备。

    devcon /m:\server01 listclass diskdrive cdrom tapedrive
    

    作为响应,DevCon在远程计算机上显示这些类中的设备。

    Listing 1 device(s) for setup class "DiskDrive" (Disk drives) on \server01.
    IDEDISKWDC_WD204BA_____________________________16.13M164457572D414D3730323136333938203120202020: WDC WD204BA
    Listing 1 device(s) for setup class "CDROM" (DVD/CD-ROM drives) on \server01.
    IDECDROMSAMSUNG_DVD-ROM_SD-608__________________2.2_____4&13B4AFD&0&0.0.0: SAMSUNG DVD-ROM SD-608
    No devices for setup class "TapeDrive" (Tape drives) on \server01.
    

    示例8:列出所有驱动程序文件

    以下命令使用DevCon DriverFiles操作列出系统上设备使用的驱动程序的文件名。该命令使用通配符(*)指示系统上的所有设备。由于输出内容很大,因此该命令使用重定向字符(>)将输出重定向到参考文件driverfiles.txt。

    devcon driverfiles * > driverfiles.txt
    

    示例9:列出特定设备的驱动程序文件

    以下命令使用DevCon DriverFiles操作来搜索本地计算机上的鼠标设备使用的设备驱动程序。它通过其硬件ID之一HID Vid_045e&Pid_0039&Rev_0121来标识设备。硬件ID包含引号(),因此用引号引起来

    devcon driverfiles "HIDVid_045e&Pid_0039&Rev_0121"
    

    作为响应,DevCon显示支持鼠标设备的两个设备驱动程序。

    HIDVID_045E&PID_00396&DC36FDE&0&0000
        Name: Microsoft USB IntelliMouse Optical
        Driver installed from c:windowsinfmsmouse.inf [HID_Mouse_Inst]. 2 file(s)
     used by driver:
            C:WINDOWSSystem32DRIVERSmouhid.sys
            C:WINDOWSSystem32DRIVERSmouclass.sys
    1 matching device(s) found.
    

    示例10:按硬件ID模式列出驱动程序包

    以下命令使用DevCon DriverNodes命令和ID模式列出软件枚举设备的驱动程序节点。模式对于查找有关可能不在同一安装程序类中的相似设备的信息很有用。

    以下命令使用ID模式sw  *指定其硬件ID或兼容ID以“ sw”开头的设备,即软件枚举的设备。

    devcon drivernodes sw*
    

    作为响应,DevCon显示系统上软件枚举设备的驱动程序节点。

    SW{A7C7A5B0-5AF3-11D1-9CED-00A024BF0407}{9B365890-165F-11D0-A195-0020AFD156E4}
    
     Name: Microsoft Kernel System Audio Device
    DriverNode #0:
        Inf file is c:windowsinfwdmaudio.inf
        Inf section is WDM_SYSAUDIO
        Driver description is Microsoft Kernel System Audio Device
        Manufacturer name is Microsoft
        Provider name is Microsoft
        Driver date is 7/1/2001
        Driver version is 5.1.2535.0
        Driver node rank is 0
        Driver node flags are 00002244
            Inf is digitally signed
    SW{B7EAFDC0-A680-11D0-96D8-00AA0051E51D}{9B365890-165F-11D0-A195-0020AFD156E4}
    
        Name: Microsoft Kernel Wave Audio Mixer
    DriverNode #0:
        Inf file is c:windowsinfwdmaudio.inf
        Inf section is WDM_KMIXER
        Driver description is Microsoft Kernel Wave Audio Mixer
        Manufacturer name is Microsoft
        Provider name is Microsoft
        Driver date is 7/1/2001
        Driver version is 5.1.2535.0
        Driver node rank is 0
        Driver node flags are 00002244
            Inf is digitally signed
    SW{CD171DE3-69E5-11D2-B56D-0000F8754380}{9B365890-165F-11D0-A195-0020AFD156E4}
    
        Name: Microsoft WINMM WDM Audio Compatibility Driver
    DriverNode #0:
        Inf file is c:windowsinfwdmaudio.inf
        Inf section is WDM_WDMAUD
        Driver description is Microsoft WINMM WDM Audio Compatibility Driver
        Manufacturer name is Microsoft
        Provider name is Microsoft
        Driver date is 7/1/2001
        Driver version is 5.1.2535.0
        Driver node rank is 0
        Driver node flags are 00002244
            Inf is digitally signed
    3 matching device(s) found.
    

    示例11:按设备实例ID模式列出驱动程序包

    以下命令使用DevCon DriverNodes操作列出设备实例ID以ROOT MEDIA开头的所有设备的驱动程序包,即Enum Root Media注册表子项中的设备。该命令使用at字符(@)指示该短语在设备实例ID中。

    devcon drivernodes @ROOTMEDIA*
    

    作为响应,DevCon显示其设备实例ID以“ ROOT MEDIA”开头的设备的驱动程序节点。

    ROOTMEDIAMS_MMACM
        Name: Audio Codecs
    DriverNode #0:
        Inf file is c:windowsinfwave.inf
        Inf section is MS_MMACM
        Driver description is Audio Codecs
        Manufacturer name is (Standard system devices)
        Provider name is Microsoft
        Driver date is 7/1/2001
        Driver version is 5.1.2535.0
        Driver node rank is 0
        Driver node flags are 00002240
            Inf is digitally signed
    ROOTMEDIAMS_MMDRV
        Name: Legacy Audio Drivers
    DriverNode #0:
        Inf file is c:windowsinfwave.inf
        Inf section is MS_MMDRV
        Driver description is Legacy Audio Drivers
        Manufacturer name is (Standard system devices)
        Provider name is Microsoft
        Driver date is 7/1/2001
        Driver version is 5.1.2535.0
        Driver node rank is 0
        Driver node flags are 00002240
            Inf is digitally signed
    ROOTMEDIAMS_MMMCI
        Name: Media Control Devices
    DriverNode #0:
        Inf file is c:windowsinfwave.inf
        Inf section is MS_MMMCI
        Driver description is Media Control Devices
        Manufacturer name is (Standard system devices)
        Provider name is Microsoft
        Driver date is 7/1/2001
        Driver version is 5.1.2535.0
        Driver node rank is 0
        Driver node flags are 00002240
            Inf is digitally signed
    ROOTMEDIAMS_MMVCD
        Name: Legacy Video Capture Devices
    DriverNode #0:
        Inf file is c:windowsinfwave.inf
        Inf section is MS_MMVCD
        Driver description is Legacy Video Capture Devices
        Manufacturer name is (Standard system devices)
        Provider name is Microsoft
        Driver date is 7/1/2001
        Driver version is 5.1.2535.0
        Driver node rank is 0
        Driver node flags are 00002240
            Inf is digitally signed
    ROOTMEDIAMS_MMVID
        Name: Video Codecs
    DriverNode #0:
        Inf file is c:windowsinfwave.inf
        Inf section is MS_MMVID
        Driver description is Video Codecs
        Manufacturer name is (Standard system devices)
        Provider name is Microsoft
        Driver date is 7/1/2001
        Driver version is 5.1.2535.0
        Driver node rank is 0
        Driver node flags are 00002240
            Inf is digitally signed
    5 matching device(s) found.
    

    示例12:列出一类设备的资源

    以下命令使用DevCon资源操作显示Hdc设备设置类中分配给设备的资源。此类包括IDE控制器。等号(=)放在“ hdc”之前,表示它是一个类而不是ID。

    devcon resources =hdc
    

    作为响应,DevCon列出了分配给本地计算机上的IDE控制器的资源。

    PCIVEN_8086&DEV_244B&SUBSYS_00000000&REV_023&29E81982&0&F9
        Name: Intel(r) 82801BA Bus Master IDE Controller
        Device is currently using the following resources:
            IO  : ffa0-ffaf
    PCIIDEIDECHANNEL4&37E53584&0&0
        Name: Primary IDE Channel
        Device is currently using the following resources:
            IO  : 01f0-01f7
            IO  : 03f6-03f6
            IRQ : 14
    PCIIDEIDECHANNEL4&37E53584&0&1
        Name: Secondary IDE Channel
        Device is currently using the following resources:
            IO  : 0170-0177
            IO  : 0376-0376
            IRQ : 15
    3 matching device(s) found.
    

    示例13:按ID列出远程计算机上设备的资源

    以下命令使用DevCon资源操作列出在远程计算机Server01上分配给系统计时器的资源。该命令使用系统计时器的硬件ID ACPI PNP0100指定设备。

    devcon /m:\Server01 resources *PNP0100
    

    作为响应,DevCon显示Server01系统计时器的资源。

    ROOT*PNP0100PNPBIOS_8
        Name: System timer
        Device has the following resources reserved:
            IO  : 0040-005f
            IRQ : 0
    1 matching device(s) found on \server01.
    

    以下命令在DevCon resources命令中使用远程系统计时器的设备实例ID。at字符(@)表示该字符串是设备实例ID,而不是硬件ID或兼容ID。

    devcon /m:\Server01 resources @ACPIPNP01004&b4063f4&0
    

    示例14:显示存储设备的驱动程序堆栈

    以下命令使用DevCon Stack操作在Volume setup类中搜索设备,并显示这些设备的预期驱动程序堆栈。等号(=)表示该字符串是一个类名。

    devcon stack =Volume
    

    作为响应,DevCon显示Volume类中设备的预期堆栈。返回的数据包括设备实例ID和每个设备的描述,GUID和设备设置类的名称,上下过滤器驱动程序的名称以及控制服务(如果有)。

    STORAGEVOLUME1&30A96598&0&SIGNATURE32323533OFFSET271167600LENGTH6E00D0C00
        Name: Generic volume
        Setup Class: {71A27CDD-812A-11D0-BEC7-08002BE2092F} Volume
        Class upper filters:
            VolSnap
        Controlling service:
            (none)
    STORAGEVOLUME1&30A96598&0&SIGNATURE32323533OFFSET7E00LENGTH27115F800
        Name: Generic volume
        Setup Class: {71A27CDD-812A-11D0-BEC7-08002BE2092F} Volume
        Class upper filters:
            VolSnap
        Controlling service:
            (none)
    2 matching device(s) found.
    

    示例15:查找设备的设置类

    所述开发者大会堆栈操作返回除了上部和下部过滤器驱动程序的设置类的设备的。以下命令通过找到打印机端口接口的设备实例ID,然后使用设备实例ID来查找其设置类别,来找到打印机端口接口的设置类别。

    以下命令使用DevCon HwIDs操作通过使用“ LPT”(打印机端口硬件ID中的短语)查找打印机端口接口的设备实例ID。

    devcon hwids *lpt*
    

    作为响应,DevCon返回设备实例ID(以粗体显示)和打印机端口接口的硬件ID。

    LPTENUMMICROSOFTRAWPORT5&CA97D7E&0&LPT1
        Name: Printer Port Logical Interface
        Hardware ID's:
            LPTENUMMicrosoftRawPort958A
            MicrosoftRawPort958A
    1 matching device(s) found.
    

    一条命令使用DevCon Stack操作查找由设备实例ID表示的设备的设备设置类。at字符(@)将ID标识为设备实例ID。该ID用引号括起来,因为它包含&字符。

    devcon stack "@LPTENUMMICROSOFTRAWPORT5&CA97D7E&0&LPT1"
    

    作为响应,DevCon显示打印机端口接口的驱动程序堆栈,包括该类。显示屏显示打印机端口在System类中。

    LPTENUMMICROSOFTRAWPORT5&CA97D7E&0&LPT1
        Name: Printer Port Logical Interface
        Setup Class: {4D36E97D-E325-11CE-BFC1-08002BE10318} System
        Controlling service:
            (none)
    1 matching device(s) found.
    

    以下命令使用DevCon Stack操作来显示远程计算机Server01上的微型端口驱动程序设备的预期堆栈。它在Net setup类中搜索其硬件ID或兼容ID中具有“微型端口”的设备。

    请注意,此命令首先将搜索限制为Net setup类,然后找到“ miniport”字符串。除了Net setup类中的设备,它找不到其他设备。

    devcon /m:\server01 stack =net *miniport*
    

    作为响应,DevCon在Server01上显示微型端口驱动程序的预期堆栈。

    ROOTMS_L2TPMINIPORT000
        Name: WAN Miniport (L2TP)
        Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
        Controlling service:
            Rasl2tp
    ROOTMS_PPPOEMINIPORT000
        Name: WAN Miniport (PPPOE)
        Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
        Controlling service:
            RasPppoe
        Lower filters:
            NdisTapi
    ROOTMS_PPTPMINIPORT000
        Name: WAN Miniport (PPTP)
        Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
        Controlling service:
            PptpMiniport
        Lower filters:
            NdisTapi
    ROOTMS_PTIMINIPORT000
        Name: Direct Parallel
        Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
        Controlling service:
            Raspti
        Lower filters:
            PtiLink
    4 matching device(s) found on \Server01.
    

    示例17:显示本地计算机上所有设备的状态

    以下命令使用DevCon Status操作来查找本地计算机上所有设备的状态。然后,将状态保存在status.txt文件中以进行记录或以后查看。该命令使用通配符(*)表示所有设备,并使用重定向字符(>)将输出重定向到status.txt文件。

    devcon status * > status.txt
    

    示例18:按设备实例ID显示设备的状态

    查找特定设备状态的最可靠方法是使用设备的设备实例ID。

    以下命令在DevCon Status命令中使用本地计算机上I / O控制器的设备实例ID 该命令包括设备的设备实例ID,即PCI VEN_8086&DEV_1130&SUBSYS_00000000&REV_02 3&29E81982&0&00。ID前面的at字符(@)将字符串标识为设备实例ID。该ID必须包含在引号中,因为它包含&字符。

    devcon status "@PCIVEN_8086&DEV_1130&SUBSYS_00000000&REV_023&29E81982&0&00"
    

    作为响应,DevCon显示I / O控制器的状态。

    PCIVEN_8086&DEV_1130&SUBSYS_00000000&REV_023&29E81982&0&00
        Name: Intel(R) 82815 Processor to I/O Controller - 1130
        Driver is running.
    1 matching device(s) found.
    

    以下命令使用DevCon Status操作显示远程计算机Server01上与存储相关的特定设备的状态。它搜索以下设备:

    • 磁盘驱动器,GenDisk

    • CD-ROM驱动器,GenCdRom

    • 软盘驱动器,FDC GENERIC_FLOPPY_DRIVE

    • 卷,存储卷

    • 逻辑磁盘管理器,ROOT DMIO

    • 卷管理器,ROOT FTDISK

    • 软盘控制器ACPI PNP0700

    在命令中,每个ID均由空格分隔。请注意,GenDisk和GenCdRom是兼容的ID,而其他ID是硬件ID。

    devcon /m:\server01 status GenDisk GenCdRom FDCGENERIC_FLOPPY_DRIVE STORAGEVolume ROOTDMIO ROOTFTDISK ACPIPNP0700
    

    作为响应,DevCon显示每个设备的状态。

    FDCGENERIC_FLOPPY_DRIVE1&3A2146F1&0&0
        Name: Floppy disk drive
        Driver is running.
    IDECDROMSAMSUNG_DVD-ROM_SD-608__________________2.2_____4&13B4AFD&0&0.0.0
        Name: SAMSUNG DVD-ROM SD-608
        Driver is running.
    IDEDISKWDC_WD204BA_____________________________16.13M164457572D414D373032313633393820312
    0202020
        Name: WDC WD204BA
        Driver is running.
    ROOTDMIO000
        Name: Logical Disk Manager
        Driver is running.
    ROOTFLOPPYDISK000
        Device has a problem: 28.
    ROOTFLOPPYDISK002
        Device has a problem: 01.
    ROOTFLOPPYDISK003
        Device has a problem: 01.
    ROOTFLOPPYDISK004
        Device is currently stopped.
    ROOTFTDISK000
        Name: Volume Manager
        Driver is running.
    STORAGEVOLUME1&30A96598&0&SIGNATUREEA1AA9C7OFFSET1770DF800LENGTH3494AEA00
        Name: Generic volume
        Driver is running.
    STORAGEVOLUME1&30A96598&0&SIGNATUREEA1AA9C7OFFSET7E00LENGTH1770CFC00
        Name: Generic volume
        Driver is running.
    11 matching device(s) found on \Server01.
    

    示例20:按硬件ID模式查找设备

    以下命令使用DevCon Find操作在远程计算机Server01上搜索鼠标设备。具体地说,该命令在Server01计算机中搜索其硬件ID或兼容ID包含“ mou”的设备。

    devcon /m:\Server01 find *mou*
    

    在这种情况下,DevCon找到了两个鼠标设备。

    ROOT*PNP0F031_0_21_0_31_0                                 : Microsoft PS/2 Mouse
    ROOTRDP_MOU000                                           : Terminal Server Mouse Driver
    

    由于所有DevCon显示操作还可以找到硬件ID,因此您可以使用任何显示操作来搜索硬件ID。根据输出中需要的内容选择操作。例如,要查找本地计算机上与鼠标相关的设备使用的设备驱动程序,请提交以下命令。

    devcon driverfiles *mou*
    

    作为响应,DevCon会找到设备并列出其驱动程序。

    HIDVID_045E&PID_00396&DC36FDE&0&0000
        Name: Microsoft USB IntelliMouse Optical
        Driver installed from c:windowsinfmsmouse.inf [HID_Mouse_Inst]. 2 file(s) used by d
    river:
            C:WINDOWSSystem32DRIVERSmouhid.sys
            C:WINDOWSSystem32DRIVERSmouclass.sys
    ROOTRDP_MOU000
        Name: Terminal Server Mouse Driver
        Driver installed from c:windowsinfmachine.inf [RDP_MOU]. 2 file(s) used by driver:
            C:WINDOWSSystem32DRIVERS	ermdd.sys
            C:WINDOWSSystem32DRIVERSmouclass.sys
    2 matching device(s) found.
    

    示例21:按设备实例ID或类查找设备

    以下命令使用DevCon Find操作显示本地计算机上的所有旧设备。因为旧版设备没有硬件ID,所以您必须通过旧版设备实例ID(注册表路径)ROOT LEGACY或其设置类LegacyDriver来搜索它们。

    第一条命令通过设备实例ID模式查找旧版驱动程序。ID模式以at字符(@开头以指示设备实例ID,然后以通配符(*开头以查找ROOT Legacy子项中的所有设备。

    devcon find @rootlegacy*
    

    第二个命令通过搜索LegacyDriver类中的所有设备来查找旧设备。

    devcon find =legacydriver
    

    这两个命令产生相同的输出,在这种情况下,找到相同的27个旧设备。

    ROOTLEGACY_AFD000                                        : AFD Networking Support Environment
    ROOTLEGACY_BEEP000                                       : Beep
    ROOTLEGACY_DMBOOT000                                     : dmboot
    ROOTLEGACY_DMLOAD000                                     : dmload
    ROOTLEGACY_FIPS000                                       : Fips
    ROOTLEGACY_GPC000                                        : Generic Packet Classifier
    ROOTLEGACY_IPSEC000                                      : ipsec
    ROOTLEGACY_KSECDD000                                     : ksecdd
    ROOTLEGACY_MNMDD000                                      : mnmdd
    ROOTLEGACY_MOUNTMGR000                                   : mountmgr
    ROOTLEGACY_NDIS000                                       : ndis
    ROOTLEGACY_NDISTAPI000                                   : Remote Access NDIS TAPI Driver
    ROOTLEGACY_NDISUIO000                                    : NDIS Usermode I/O Protocol
    ROOTLEGACY_NDPROXY000                                    : NDProxy
    ROOTLEGACY_NETBT000                                      : netbt
    ROOTLEGACY_NULL000                                       : Null
    ROOTLEGACY_PARTMGR000                                    : PartMgr
    ROOTLEGACY_PARVDM000                                     : ParVdm
    ROOTLEGACY_RASACD000                                     : Remote Access Auto Connection Driver
    ROOTLEGACY_RDPCDD000                                     : RDPCDD
    ROOTLEGACY_RDPWD000                                      : RDPWD
    ROOTLEGACY_TCPIP000                                      : tcpip
    ROOTLEGACY_TDPIPE000                                     : TDPIPE
    ROOTLEGACY_TDTCP000                                      : TDTCP
    ROOTLEGACY_VGASAVE000                                    : VgaSave
    ROOTLEGACY_VOLSNAP000                                    : VolSnap
    ROOTLEGACY_WANARP000                                     : Remote Access IP ARP Driver
    27 matching device(s) found.
    

    示例22:在设置类中查找(并查找所有)设备

    以下命令使用DevCon FindAll操作在Net setup类中查找计算机上的所有设备。等号(=)表示Net是设置类,而不是ID。

    devcon findall =net
    

    作为响应,DevCon在网络设置类中列出了以下七个设备。前六个是标准的微型端口驱动程序设备。第七台设备RAS异步适配器是一种软件枚举设备(SW *),直到需要时才安装。

    PCIVEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_784&BB7B4AE&0&60F0: 3Com 3C920 Integrated Fast
    Ethernet Controller (3C905C-TX Compatible)
    ROOTMS_L2TPMINIPORT000                                   : WAN Miniport (L2TP)
    ROOTMS_NDISWANIP000                                      : WAN Miniport (IP)
    ROOTMS_PPPOEMINIPORT000                                  : WAN Miniport (PPPOE)
    ROOTMS_PPTPMINIPORT000                                   : WAN Miniport (PPTP)
    ROOTMS_PTIMINIPORT000                                    : Direct Parallel
    SW{EEAB7790-C514-11D1-B42B-00805FC1270E}ASYNCMAC          : RAS Async Adapter
    7 matching device(s) found.
    

    以下命令将比较开发者大会寻找开发者大会的FindAll通过运行一个业务开发者大会查找具有相同的参数前面的命令开发者大会的FindAll命令。

    devcon find =net
    

    作为响应,DevCon在网络安装程序类中列出了以下六个设备。

    PCIVEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_784&BB7B4AE&0&60F0: 3Com 3C920 Integrated Fast
    Ethernet Controller (3C905C-TX Compatible)
    ROOTMS_L2TPMINIPORT000                                   : WAN Miniport (L2TP)
    ROOTMS_NDISWANIP000                                      : WAN Miniport (IP)
    ROOTMS_PPPOEMINIPORT000                                  : WAN Miniport (PPPOE)
    ROOTMS_PPTPMINIPORT000                                   : WAN Miniport (PPTP)
    ROOTMS_PTIMINIPORT000                                    : Direct Parallel
    6 matching device(s) found.
    

    可以预计,仅返回当前安装的设备DevCon Find命令不会列出软件枚举的设备,因为该设备尚未安装。

    示例23:显示安装程序类的筛选器驱动程序

    以下命令使用DevCon ClassFilter操作显示DiskDrive安装程序类的上层筛选器驱动程序。由于此命令不包含classfilter运算符,因此DevCon显示该类的过滤器驱动程序,但不会更改它们。

    devcon classfilter DiskDrive upper
    

    作为响应,DevCon显示DiskDrive类的上层筛选器驱动程序,并确认它没有更改它们。在这种情况下,显示屏显示DiskDrive安装程序类中的设备使用PartMgr.sys上层筛选器驱动程序。

    Class filters unchanged.
        PartMgr
    

    示例24:将过滤器驱动程序添加到安装程序类

    以下命令使用DevCon ClassFilter操作将虚拟筛选器Disklog.sys添加到DiskDrive安装程序类的上级筛选器驱动程序列表中。

    此命令使用后置(+)ClassFilter运算符在PartMgr驱动程序之后加载Disklog驱动程序,以便它接收PartMgr.sys已处理的数据。

    当命令启动时,虚拟光标位于第一个过滤器驱动程序之前。由于它不在特定驱动程序上,因此DevCon将Disklog驱动程序添加到过滤器驱动程序列表的末尾。

    该命令还使用/ r参数,如果有必要使类过滤器更改有效,它将重新引导系统。

    devcon /r classfilter DiskDrive upper +Disklog
    

    作为响应,DevCon显示DiskDrive类的当前上层筛选器驱动程序。

    Class filters changed. Class devices must be restarted for changes to take effect.
        PartMgr
        Disklog
    

    如果您拼错了驱动程序名称,或尝试添加系统上未安装的驱动程序,则命令将失败。DevCon不会添加驱动程序,除非该驱动程序已注册为服务,也就是说,除非该驱动程序在Services注册表子项(HKEY_LOCAL_MACHINE System CurrentControlSet Services)中有一个子项。

    以下命令测试此安全保护功能。它尝试将“ Disklgg”(而不是“ Disklog”)添加到DiskDrive类的高级过滤器列表中。输出表明该命令失败。

    devcon /r classfilter DiskDrive upper +Disklgg
    devcon failed.
    

    示例25:在类列表中插入过滤器驱动程序

    以下命令使用DevCon ClassFilter操作将虚拟筛选器驱动程序MyFilter.sys添加到DiskDrive安装程序类的高级筛选器驱动程序列表中。该命令按加载顺序将MyFilter.sys放在PartMgr.sys和Disklog.sys之间。

    devcon /r classfilter DiskDrive upper @Disklog -MyFilter
    

    下面的列表显示了在提交命令之前DiskDrive类的筛选器驱动程序。

        PartMgr
        Disklog
    

    第一个子命令@Disklog使用定位运算符(@)将虚拟光标放置在Disklog筛选器驱动程序上。第二个子命令-MyFilter使用add-before运算符(-)将MyFilter.sys添加到Disklog.sys之前。

    该命令还使用/ r参数,如果有必要使类过滤器更改有效,它将重新引导系统。

    在此示例中,定位运算符至关重要。在DevCon处理任何classfilter子命令之前,虚拟光标位于列表的开头,并且不位于任何过滤器驱动程序上。如果在光标未位于驱动程序上时使用前加(+)运算符,DevCon会将驱动程序添加到列表的开头。如果在光标未位于驱动程序上时使用后置(-)运算符,则会将驱动程序添加到列表的末尾。

    作为响应,DevCon显示DiskDrive类的当前上层筛选器驱动程序。

    Class filters changed. Class devices must be restarted for changes to take effect.
        PartMgr
        MyFilter
        Disklog
    

    您也可以使用以下命令添加MyFilter驱动程序并将其放置在PartMgr和Disklog之间。在此示例中,第一个子命令@PartMgr将虚拟光标定位在PartMgr筛选器驱动程序上。第二个子命令+ MyFilter使用后置运算符(+)在PartMgr之后添加MyFilter.sys。

    devcon /r classfilter DiskDrive upper @PartMgr +MyFilter
    

    示例26:替换筛选器驱动程序

    以下命令使用DevCon ClassFilter操作在DiskDrive安装程序类的筛选器驱动程序列表中,将MyFilter.sys的原始副本替换为新的改进版本MyNewFilter.sys。

    devcon /r classfilter DiskDrive upper !MyFilter +MyNewFilter
    

    下面的列表显示了在提交命令之前DiskDrive类的筛选器驱动程序。

        PartMgr
        MyFilter
        Disklog
    

    第一个子命令使用delete运算符()从DiskDrive类的上层筛选器驱动程序列表中删除MyFilter。(它不会影响C: Windows System32 Drivers目录中的MyFilter.sys文件。)

    第二个子命令使用后置运算符(+)将新的筛选器驱动程序放置在已删除驱动程序占据的位置。因为delete运算符将光标留在删除的过滤器所占据的位置,所以前加(-)和后加(+)运算符具有相同的效果。)

    该命令还使用/ r参数,如果有必要使类过滤器更改有效,它将重新引导系统。

    作为响应,DevCon显示DiskDrive类的新类过滤器配置。

    Class filters changed. Class devices must be restarted for changes to take effect.
        PartMgr
        MyNewFilter
        Disklog
    

    示例27:更改过滤器驱动程序的顺序

    以下命令使用DevCon ClassFilter操作来更改DiskDrive安装程序类的筛选器驱动程序的顺序。具体来说,它颠倒了第二和第三滤波器驱动程序的顺序。

    devcon /r classfilter DiskDrive upper !Disklog =@PartMgr +Disklog
    

    下面的列表显示了在提交命令之前DiskDrive类的筛选器驱动程序。它还显示命令的预期结果。

    表格1
    之前

    零件经理

    零件经理

    MyNewFilter

    磁盘日志

    磁盘日志

    MyNewFilter

    第一个子命令使用delete运算符(!)从列表中删除Disklog。第二个子命令使用开始运算符(=)将虚拟光标移回起始位置,然后使用定位运算符(@)将光标放置在PartMgr驱动程序上。start操作符是必需的,因为虚拟光标仅在列表中向前移动。最后一个子命令使用后置运算符(+)在PartMgr之后添加Disklog。

    作为响应,DevCon显示DiskDrive类的新类过滤器配置。

    Class filters changed. Class devices must be restarted for changes to take effect.
        PartMgr
        Disklog
        MyNewFilter
    

    示例28:启用特定设备

    以下命令使用DevCon Enable操作来启用已被禁用以纠正系统问题的可编程中断控制器。由于控制器硬件ID * PNP0000包含星号,因此该命令使用单引号字符(')指示DevCon准确找到命令中指定的硬件ID。否则,星号将被解释为通配符。

    devcon enable '*PNP0000
    

    作为响应,DevCon显示设备的设备实例ID,并说明您必须重新引导系统才能启用该设备。

    ACPIPNP00004&B4063F4&0                                    : Enabled on reboot
    Not all of 1 device(s) enabled, at least one requires reboot to complete the operation.
    

    您可以通过手动重启系统或使用DevCon Reboot操作来响应

    以下命令将/ r参数添加到上一个命令。/ R参数重新启动仅当重新启动需要完成的操作的系统。

    devcon /r enable '*PNP0000
    

    作为响应,DevCon启用设备,然后重新引导系统以使启用生效。

    系统启动后,使用DevCon status命令确认设备已启用。

    devcon status '*PNP0000
    
    ACPIPNP00004&B4063F4&0
        Name: Programmable interrupt controller
        Driver is running.
    

    示例29:按类别启用设备

    以下命令通过在DevCon Enable命令中指定Printer setup类来启用计算机上的所有打印机设备该命令包含/ r参数,如果需要使启用生效,它将重新引导系统。

    devcon /r enable =Printer
    

    作为响应,DevCon显示在打印机类中找到的打印机的设备实例ID,并报告其已启用。尽管该命令包含/ r参数,但系统并未重新启动,因为不需要重新启动即可启用打印机。

    LPTENUMHEWLETT-PACKARDDESKJET_1120C1&7530F08&0&LPT1.4        : Enabled
    1 device(s) enabled.
    

    示例30:通过ID模式禁用设备

    以下命令使用“ DevCon禁用”操作来禁用本地计算机上的USB设备。它通过硬件ID模式(USB *)识别设备。此模式将匹配其硬件ID或兼容ID以“ USB”开头的任何设备。该命令包含/ r参数,如果需要使禁用生效,它将重新引导系统。

    注意 在使用ID模式禁用设备之前,请确定将影响哪些设备。为此,请在显示命令中使用该模式,例如devcon status USB  *或devcon hwids USB  *。

    devcon /r disable USB*
    

    作为响应,DevCon显示USB设备的设备实例ID并报告它们已被禁用。尽管该命令包含/ r参数,但系统并未重新引导,因为不需要重新引导来禁用设备。

    USBROOT_HUB4&2A40B465&0
    : Disabled
    USBROOT_HUB4&7EFA360&0
    : Disabled
    USBVID_045E&PID_00395&29F428A4&0&2
    : Disabled
    3 device(s) disabled.
    

    示例31:通过设备实例ID禁用设备

    以下命令使用“ DevCon禁用”操作来禁用本地计算机上的USB设备。该命令通过设备实例ID来标识设备,如每个ID前面的at字符(@)所示。每个设备实例ID均由空格分隔。

    此外,由于设备的实例ID包括与符号字符(),它们被包含在引号。该命令包含/ r参数,如果需要使禁用生效,它将重新引导系统。

    devcon /r disable "@USBROOT_HUB4&2A40B465&0" "@USBROOT_HUB4&7EFA360&0" "@USBVID_045E&PID_00395&29F428A4&0&2"
    

    作为响应,DevCon显示USB设备的设备实例ID并报告它们已被禁用。尽管该命令包含/ r参数,但系统并未重新引导,因为不需要重新引导来禁用设备。

    USBROOT_HUB4&2A40B465&0
    : Disabled
    USBROOT_HUB4&7EFA360&0
    : Disabled
    USBVID_045E&PID_00395&29F428A4&0&2
    : Disabled
    3 device(s) disabled.
    

    示例32:更新通信端口的驱动程序

    以下命令使用DevCon Update操作将系统上用于通信端口的当前设备驱动程序替换为test.inf文件中指定的测试驱动程序。该命令仅影响整个硬件ID为* PNP0501(包括星号)的设备。

    您可以使用此命令将系统上已签名的驱动程序替换为备用驱动程序以进行测试或故障排除,或将设备与同一驱动程序的最新版本相关联。

    devcon update c:windowsinf	est.inf *PNP0501
    

    作为响应,DevCon显示硬件安装警告,说明驱动程序尚未通过Windows徽标测试。如果您单击仍然继续在对话框按钮,继续安装。

    然后,DevCon显示以下成功消息。

    Updating drivers for *PNP0501 from c:windowsinf	est.inf.
    Drivers updated successfully.
    

    您还可以使用DevCon UpdateNI操作(DevCon Update操作的非交互式版本)来更新驱动程序。所述开发者大会UpdateNI操作是相同的开发者大会更新不同之处在于它抑制需要响应的所有用户提示,并假定默认响应于该提示操作。

    以下命令使用DevCon UpdateNI操作来安装测试驱动程序。

    devcon updateni c:windowsinf	est.inf *PNP0501
    

    在这种情况下,DevCon不会显示“ 硬件安装”警告。而是假定默认响应为Stop Installation结果,DevCon无法更新驱动程序并显示失败消息。

    Updating drivers for *PNP0501 from c:windowsinf	est.inf.
    devcon failed.
    

    示例33:安装设备

    以下命令使用DevCon Install操作在本地计算机上安装键盘设备。该命令包括设备INF文件的完整路径(keyboard.inf)和硬件ID(* PNP030b)。

    devcon /r install c:windowsinfkeyboard.inf *PNP030b
    

    作为响应,DevCon报告它已经安装了该设备,即它已经为新设备创建了一个设备节点并更新了该设备的驱动程序文件。

    Device node created. Install is complete when drivers files are updated...
    Updating drivers for *PNPO30b from c:windowsinfkeyboard.inf
    Drivers updated successfully.
    

    示例34:使用无人值守安装程序安装设备

    下面的示例显示如何在无人参与的Microsoft Windows XP安装过程中安装Microsoft回送适配器。

    要在无人参与的安装过程中安装此设备,请首先将以下文件添加到软盘中:devcon.exe和netloop.inf(C: Windows inf netloop.inf)。

    然后,在无人参与安装文件[GUIRunOnce]部分中,添加以下DevCon命令:

    a:devcon /r install a:Netloop.inf '*MSLOOP
    

    此命令通过使用其硬件ID * MSLOOP来标识回送适配器。“ * MSLOOP”之前的单引号字符告诉DevCon从字面上解释字符串,即将星号解释为硬件ID的一部分,而不是通配符。

    该命令还指定DevCon在安装中使用Netloop.inf文件(在软盘上)。/ R参数重新启动仅需要重新启动才能完成安装的计算机。

    最后,将网络配置设置添加到无人参与安装文件并运行无人参与安装。

    示例35:按设备实例ID模式删除设备

    以下命令使用DevCon Remove操作从计算机中删除所有USB设备。它通过与任何以“ USB ”字符串开头的设备实例ID(注册表路径)相匹配的设备实例ID模式来标识设备。字符(@)区分设备实例ID与硬件ID或兼容ID。该命令还包含/ r参数,如果需要使用该参数,则重新启动系统才能使删除过程生效。

    警告 使用图案删除任何设备之前,请确定受影响的设备。为此,请在显示命令中使用该模式,例如devcon status @usb \ *或devcon hwids @usb \ * *。

    devcon /r remove @usb*
    

    作为响应,DevCon显示其删除的设备的设备实例ID。

    USBROOT_HUB4&2A40B465&0                             : Removed
    USBROOT_HUB4&7EFA360&0                              : Removed
    USBVID_045E&PID_00395&29F428A4&0&2                  : Removed
    3 device(s) removed.
    

    示例36:删除特定的网络设备

    以下命令使用DevCon Remove操作从本地计算机上卸载NDISWAN微型端口驱动程序。该命令指定Net类,然后通过在该类中指定其硬件ID或兼容ID包含“ ndiswan”的设备来优化搜索。该命令还包含/ r参数,如果需要重新引导才能使删除过程生效,则该参数会重新引导系统。

    警告 使用图案删除任何设备之前,请确定将影响哪些设备。为此,请在显示命令中使用该模式,例如devcon status = net * ndiswan  *或devcon hwids = net * ndiswan  *。

    devcon /r remove =net *ndiswan*
    

    作为响应,DevCon显示其删除的设备的设备实例ID。

    ROOTMS_NDISWANIP000 : Removed 1 device(s) removed.
    

    示例37:扫描计算机中的新设备

    以下命令使用DevCon Rescan操作来扫描本地计算机中的新设备。

    devcon rescan
    

    作为回应,DevCon报告它扫描了系统,但没有发现新设备。

    Scanning for new hardware.
    Scanning completed.
    

    您也可以在远程计算机上使用DevCon Rescan命令。通过在命令上添加/ m参数,以下命令可在远程计算机Server01上运行DevCon Rescan操作

    devcon /m:\server01 rescan
    

    示例38:重新启动设备

    以下命令使用DevCon Restart操作来重新启动本地计算机上的回送适配器。该命令将搜索限制为Net setup类,并在该类中指定回送适配器的设备实例ID ROOT * MSLOOP 0000at字符(@)将字符串标识为设备实例ID。请求文字搜索的单引号字符(')阻止DevCon将ID中的星号解释为通配符。

    devcon restart =net @'ROOT*MSLOOP000
    

    作为响应,DevCon显示设备的设备实例ID并报告结果。

    ROOT*MSLOOP000                                              : Restarted
    1 device(s) restarted.
    

    示例39:重新启动本地计算机

    以下命令使用DevCon Reboot操作来重新引导本地计算机上的操作系统,并将重新引导与硬件安装相关联。/ r参数不同DevCon Reboot操作不依赖于另一个操作的返回代码。

    您可以将此命令包含在需要重新引导系统的脚本和批处理文件中。

    devcon reboot
    

    作为响应,DevCon显示一条消息,指示其正在重新启动计算机(重新启动本地计算机)。

    DevCon使用标准的ExitWindowsEx函数重新启动。如果用户在计算机上打开了文件,或者程序无法关闭,则在用户响应系统提示以关闭文件或结束过程之前,系统不会重新启动。

    示例40:为旧设备分配硬件ID

    以下命令使用DevCon SetHwID操作将硬件ID beep分配给旧的beep设备。

    该命令使用设备的设备实例ID,即ROOT LEGACY_BEEP 0000,因为嘟嘟的旧设备没有硬件ID或兼容的ID。它使用at字符(@)表示该字符串是设备实例ID。

    该命令不使用任何符号参数来定位ID。默认情况下,DevCon将新的硬件ID添加到硬件ID列表的末尾。在这种情况下,由于设备没有其他硬件ID,因此放置无关紧要。

    devcon sethwid @ROOTLEGACY_BEEP000 := beep
    

    作为响应,DevCon显示一条消息,指示已将蜂鸣声添加到设备的硬件ID列表中。它还显示结果硬件ID列表。在这种情况下,列表中只有一个硬件ID。

    ROOTLEGACY_BEEP000                              : beep
    Modified 1 hardware ID(s).
    

    示例41:向远程计算机上的所有旧设备添加硬件ID

    以下命令使用DevCon SetHwID操作将旧服务器的硬件ID添加到Server1远程计算机上所有旧设备的硬件ID列表中。

    该命令使用-符号参数的新的硬件ID添加到该设备的硬件ID列表的末尾,如果优选的硬件ID具有用于设备中的一个被创建。它使用/ m参数指定远程计算机。它还使用设备实例ID模式@ROOT \ LEGACY  来标识计算机上的旧设备,即,所有设备实例ID以** ROOT LEGACY * 开头的设备

    devcon /m:\Server1 sethwid @ROOTLEGACY* := -legacy
    

    作为响应,DevCon显示所有受影响设备的结果硬件ID列表。

    ROOTLEGACY_AFD000                                        : legacy
    ROOTLEGACY_BEEP000                                    : beep,legacy
    ROOTLEGACY_CRCDISK000                                    : legacy
    ROOTLEGACY_DMBOOT000                                     : legacy
    ROOTLEGACY_DMLOAD000                                     : legacy
    ROOTLEGACY_FIPS000                                       : legacy
    ...
    ROOTLEGACY_WANARP000                                     : legacy
    Modified 27 hardware ID(s).
    

    将相同的硬件ID分配给一组设备后,您可以使用其他DevCon操作在单个命令中查看和更改设备。

    例如,以下命令显示所有旧式设备的状态。

    devcon status legacy
    

    示例42:从远程计算机上的所有旧设备中删除硬件ID

    以下命令使用DevCon SetHwID操作从Server1远程计算机上所有旧版设备的硬件ID列表中删除旧版的硬件ID。

    该命令使用/ m参数指定远程计算机。它使用硬件ID legacy来标识具有该硬件ID的所有设备。然后,它使用用于删除旧版硬件ID的symbol参数

    devcon /m:\Server1 sethwid legacy := !legacy
    

    作为响应,DevCon显示所有受影响设备的结果硬件ID列表。

    ROOTLEGACY_AFD000                                        :
    ROOTLEGACY_BEEP000                                    : beep
    ROOTLEGACY_CRCDISK000                                    :
    ROOTLEGACY_DMBOOT000                                     :
    ROOTLEGACY_DMLOAD000                                     :
    ROOTLEGACY_FIPS000                                       :
    ...
    ROOTLEGACY_WANARP000                                     :
    Modified 27 hardware ID(s).
    

    示例43:添加,删除和替换硬件ID

    以下示例系列显示了如何使用DevCon SetHwID操作的各种功能

    本系列使用一个虚拟设备DeviceX,其设备实例ID为ROOT DeviceX 0000在使用DevCon之前,设备具有以下硬件ID列表:

    Hw3 Hw4
    

    以下命令使用+符号将Hw1Hw2添加到DeviceX的硬件ID列表的开头。由于Hw2已经出现在列表中,因此将其移动而不是添加。该命令通过设备实例ID来标识设备,如ID 前面的at字符(@)所示。

    devcon sethwid @ROOTDEVICEX000 := +Hw1 Hw2
    

    作为响应,DevCon显示设备的新硬件ID列表。请注意,Hw1Hw2以指定顺序出现在列表的开头。

    ROOTDEVICEX000                         : Hw1,Hw2,Hw3,Hw4
    Modified 1 hardware ID(s).
    

    此外,DevCon报告它修改了一个硬件ID列表,即一个设备的硬件ID列表。

    以下命令使用符号以删除Hw1硬件ID。然后,它列出了没有符号参数的硬件ID Hw5没有符号参数,SetHwID会将硬件ID添加到设备的硬件ID列表的末尾。

    该命令说明,与DevCon SetHwID操作的其他符号参数不同符号仅适用于其前缀的硬件ID。

    devcon sethwid @ROOTDeviceX000 := !Hw1 Hw5
    

    作为响应,DevCon将显示生成的DeviceX硬件ID列表。

    ROOTDEVICEX000                         : Hw2,Hw3,Hw4,Hw5
    Modified 1 hardware ID(s).
    

    以下命令使用=参数将DeviceX列表中的所有硬件ID替换为单个硬件ID DevX

    devcon sethwid @ROOTDeviceX000 := =DevX
    

    作为响应,DevCon将显示生成的DeviceX硬件ID列表。

    ROOTDEVICEX000                         : DevX
    Modified 1 hardware ID(s).
    

    成功消息表示DevCon已修改一台设备的硬件ID。

    示例44:强制更新HAL

    以下示例显示了如何使用DevCon更新计算机上的HAL。在此示例中,测试人员希望将多处理器APCI APIC HAL替换为最适合计算机的单处理器APCI APIC HAL,以进行测试。

    第一条命令使用DevCon SetHwID操作将HAL的硬件ID从acpiapic_up(单处理器HAL 的硬件ID)更改acpiapic_mp(多处理器HAL的硬件ID)。

    您必须更改硬件ID,因为HAL的INF文件包含单处理器和多处理器HAL的驱动程序。系统根据设备的硬件ID从INF文件中选择最合适的驱动程序。如果您不更改硬件ID,则DevCon Update命令将仅重新安装单处理器HAL驱动程序。

    在下面的命令,该命令标识的HAL通过它的实例ID,ROOT ACPI_HAL 0000由所指示的,@的ID前面的字符。该命令使用+字符使acpiapic_mp成为HAL列表中的第一个硬件ID。然后,它使用从HAL的ID列表中删除acpiapic_up硬件ID的字符

    devcon sethwid @ROOTACPI_HAL000 := +acpiapic_mp !acpiapic_up
    

    作为响应,DevCon显示HAL的以下新硬件ID列表。

    ROOTACPI_HAL000                         : acpiapic_mp
    Modified 1 hardware ID(s).
    

    以下命令使用DevCon Update操作更新HAL的驱动程序。

    devcon update c:windowsinfhal.inf acpiapic_mp
    

    然后,DevCon显示以下成功消息。

    Updating drivers for acpiapic_mp from c:windowsinfhal.inf.
    Drivers updated successfully.
  • 相关阅读:
    document.compatMode的CSS1compat
    js自运行函数
    Sublime Text 3 入门(插件控制台安装)
    javascript 面向对象技术
    jQuery ui 中文日历
    js给数字加三位一逗号间隔的两种方法(面试题)
    android eclipse集成环境
    中科红旗倒下,谁来挑战windows
    在网站制作中随时可用的10个 HTML5 代码片段
    IE6/IE7中li底部4px的Bug
  • 原文地址:https://www.cnblogs.com/nightnine/p/12423476.html
Copyright © 2011-2022 走看看