示例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。
FDC\GENERIC_FLOPPY_DRIVE\5&39194F6D&0&0
Name: Floppy disk drive
Hardware ID's:
FDC\GENERIC_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。
ACPI\PNP0401\4&B4063F4&0
Name: ECP Printer Port (LPT1)
Hardware ID's:
ACPI\PNP0401
*PNP0401
ACPI\PNP0501\1
Name: Communications Port (COM1)
Hardware ID's:
ACPI\PNP0501
*PNP0501
ACPI\PNP0501\2
Name: Communications Port (COM2)
Hardware ID's:
ACPI\PNP0501
*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).
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78\4&BB7B4AE&0&60F0: 3Com 3C920 Integrated Fast Ethernet Controller (3C905C-TX Compatible)
ROOT\MS_L2TPMINIPORT\0000 : WAN Miniport (L2TP)
ROOT\MS_NDISWANIP\0000 : WAN Miniport (IP)
ROOT\MS_PPPOEMINIPORT\0000 : WAN Miniport (PPPOE)
ROOT\MS_PPTPMINIPORT\0000 : WAN Miniport (PPTP)
ROOT\MS_PTIMINIPORT\0000 : Direct Parallel
盡管有趣,但該顯示未提供Net setup類中設備的硬件ID。以下命令使用DevCon HwIDs操作來列出Net setup類中的設備。在DevCon HwIDs命令中,類名前面帶有等號(=),以表明它是一類,而不是ID。
devcon hwids =net
結果顯示列出了Net類中的設備,並包括該類中設備的實例ID,硬件ID和兼容的ID。
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78\4&BB7B4AE&0&60F0
Name: 3Com 3C920 Integrated Fast Ethernet Controller (3C905C-TX Compatible)
Hardware ID's:
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028
PCI\VEN_10B7&DEV_9200&CC_020000
PCI\VEN_10B7&DEV_9200&CC_0200
Compatible ID's:
PCI\VEN_10B7&DEV_9200&REV_78
PCI\VEN_10B7&DEV_9200
PCI\VEN_10B7&CC_020000
PCI\VEN_10B7&CC_0200
PCI\VEN_10B7
PCI\CC_020000
PCI\CC_0200
ROOT\MS_L2TPMINIPORT\0000
Name: WAN Miniport (L2TP)
Hardware ID's:
ms_l2tpminiport
ROOT\MS_NDISWANIP\0000
Name: WAN Miniport (IP)
Hardware ID's:
ms_ndiswanip
ROOT\MS_PPPOEMINIPORT\0000
Name: WAN Miniport (PPPOE)
Hardware ID's:
ms_pppoeminiport
ROOT\MS_PPTPMINIPORT\0000
Name: WAN Miniport (PPTP)
Hardware ID's:
ms_pptpminiport
ROOT\MS_PTIMINIPORT\0000
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.
IDE\DISKWDC_WD204BA_____________________________16.13M16\4457572D414D3730323136333938203120202020: WDC WD204BA
Listing 1 device(s) for setup class "CDROM" (DVD/CD-ROM drives) on \\server01.
IDE\CDROMSAMSUNG_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 "HID\Vid_045e&Pid_0039&Rev_0121"
作為響應,DevCon顯示支持鼠標設備的兩個設備驅動程序。
HID\VID_045E&PID_0039\6&DC36FDE&0&0000
Name: Microsoft USB IntelliMouse Optical
Driver installed from c:\windows\inf\msmouse.inf [HID_Mouse_Inst]. 2 file(s)
used by driver:
C:\WINDOWS\System32\DRIVERS\mouhid.sys
C:\WINDOWS\System32\DRIVERS\mouclass.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:\windows\inf\wdmaudio.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:\windows\inf\wdmaudio.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:\windows\inf\wdmaudio.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 @ROOT\MEDIA*
作為響應,DevCon顯示其設備實例ID以“ ROOT \ MEDIA”開頭的設備的驅動程序節點。
ROOT\MEDIA\MS_MMACM
Name: Audio Codecs
DriverNode #0:
Inf file is c:\windows\inf\wave.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
ROOT\MEDIA\MS_MMDRV
Name: Legacy Audio Drivers
DriverNode #0:
Inf file is c:\windows\inf\wave.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
ROOT\MEDIA\MS_MMMCI
Name: Media Control Devices
DriverNode #0:
Inf file is c:\windows\inf\wave.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
ROOT\MEDIA\MS_MMVCD
Name: Legacy Video Capture Devices
DriverNode #0:
Inf file is c:\windows\inf\wave.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
ROOT\MEDIA\MS_MMVID
Name: Video Codecs
DriverNode #0:
Inf file is c:\windows\inf\wave.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控制器的資源。
PCI\VEN_8086&DEV_244B&SUBSYS_00000000&REV_02\3&29E81982&0&F9
Name: Intel(r) 82801BA Bus Master IDE Controller
Device is currently using the following resources:
IO : ffa0-ffaf
PCIIDE\IDECHANNEL\4&37E53584&0&0
Name: Primary IDE Channel
Device is currently using the following resources:
IO : 01f0-01f7
IO : 03f6-03f6
IRQ : 14
PCIIDE\IDECHANNEL\4&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\*PNP0100\PNPBIOS_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 @ACPI\PNP0100\4&b4063f4&0
示例14:顯示存儲設備的驅動程序堆棧
以下命令使用DevCon Stack操作在Volume setup類中搜索設備,並顯示這些設備的預期驅動程序堆棧。等號(=)表示該字符串是一個類名。
devcon stack =Volume
作為響應,DevCon顯示Volume類中設備的預期堆棧。返回的數據包括設備實例ID和每個設備的描述,GUID和設備設置類的名稱,上下過濾器驅動程序的名稱以及控制服務(如果有)。
STORAGE\VOLUME\1&30A96598&0&SIGNATURE32323533OFFSET271167600LENGTH6E00D0C00
Name: Generic volume
Setup Class: {71A27CDD-812A-11D0-BEC7-08002BE2092F} Volume
Class upper filters:
VolSnap
Controlling service:
(none)
STORAGE\VOLUME\1&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。
LPTENUM\MICROSOFTRAWPORT\5&CA97D7E&0&LPT1
Name: Printer Port Logical Interface
Hardware ID's:
LPTENUM\MicrosoftRawPort958A
MicrosoftRawPort958A
1 matching device(s) found.
下一條命令使用DevCon Stack操作查找由設備實例ID表示的設備的設備設置類。at字符(@)將ID標識為設備實例ID。該ID用引號括起來,因為它包含&字符。
devcon stack "@LPTENUM\MICROSOFTRAWPORT\5&CA97D7E&0&LPT1"
作為響應,DevCon顯示打印機端口接口的驅動程序堆棧,包括該類。顯示屏顯示打印機端口在System類中。
LPTENUM\MICROSOFTRAWPORT\5&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上顯示微型端口驅動程序的預期堆棧。
ROOT\MS_L2TPMINIPORT\0000
Name: WAN Miniport (L2TP)
Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
Controlling service:
Rasl2tp
ROOT\MS_PPPOEMINIPORT\0000
Name: WAN Miniport (PPPOE)
Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
Controlling service:
RasPppoe
Lower filters:
NdisTapi
ROOT\MS_PPTPMINIPORT\0000
Name: WAN Miniport (PPTP)
Setup Class: {4D36E972-E325-11CE-BFC1-08002BE10318} Net
Controlling service:
PptpMiniport
Lower filters:
NdisTapi
ROOT\MS_PTIMINIPORT\0000
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 "@PCI\VEN_8086&DEV_1130&SUBSYS_00000000&REV_02\3&29E81982&0&00"
作為響應,DevCon顯示I / O控制器的狀態。
PCI\VEN_8086&DEV_1130&SUBSYS_00000000&REV_02\3&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 FDC\GENERIC_FLOPPY_DRIVE STORAGE\Volume ROOT\DMIO ROOT\FTDISK ACPI\PNP0700
作為響應,DevCon顯示每個設備的狀態。
FDC\GENERIC_FLOPPY_DRIVE\1&3A2146F1&0&0
Name: Floppy disk drive
Driver is running.
IDE\CDROMSAMSUNG_DVD-ROM_SD-608__________________2.2_____\4&13B4AFD&0&0.0.0
Name: SAMSUNG DVD-ROM SD-608
Driver is running.
IDE\DISKWDC_WD204BA_____________________________16.13M16\4457572D414D373032313633393820312
0202020
Name: WDC WD204BA
Driver is running.
ROOT\DMIO\0000
Name: Logical Disk Manager
Driver is running.
ROOT\FLOPPYDISK\0000
Device has a problem: 28.
ROOT\FLOPPYDISK\0002
Device has a problem: 01.
ROOT\FLOPPYDISK\0003
Device has a problem: 01.
ROOT\FLOPPYDISK\0004
Device is currently stopped.
ROOT\FTDISK\0000
Name: Volume Manager
Driver is running.
STORAGE\VOLUME\1&30A96598&0&SIGNATUREEA1AA9C7OFFSET1770DF800LENGTH3494AEA00
Name: Generic volume
Driver is running.
STORAGE\VOLUME\1&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\*PNP0F03\1_0_21_0_31_0 : Microsoft PS/2 Mouse
ROOT\RDP_MOU\0000 : Terminal Server Mouse Driver
由於所有DevCon顯示操作還可以找到硬件ID,因此您可以使用任何顯示操作來搜索硬件ID。根據輸出中需要的內容選擇操作。例如,要查找本地計算機上與鼠標相關的設備使用的設備驅動程序,請提交以下命令。
devcon driverfiles *mou*
作為響應,DevCon會找到設備並列出其驅動程序。
HID\VID_045E&PID_0039\6&DC36FDE&0&0000
Name: Microsoft USB IntelliMouse Optical
Driver installed from c:\windows\inf\msmouse.inf [HID_Mouse_Inst]. 2 file(s) used by d
river:
C:\WINDOWS\System32\DRIVERS\mouhid.sys
C:\WINDOWS\System32\DRIVERS\mouclass.sys
ROOT\RDP_MOU\0000
Name: Terminal Server Mouse Driver
Driver installed from c:\windows\inf\machine.inf [RDP_MOU]. 2 file(s) used by driver:
C:\WINDOWS\System32\DRIVERS\termdd.sys
C:\WINDOWS\System32\DRIVERS\mouclass.sys
2 matching device(s) found.
示例21:按設備實例ID或類查找設備
以下命令使用DevCon Find操作顯示本地計算機上的所有舊設備。因為舊版設備沒有硬件ID,所以您必須通過舊版設備實例ID(注冊表路徑)ROOT \ LEGACY或其設置類LegacyDriver來搜索它們。
第一條命令通過設備實例ID模式查找舊版驅動程序。ID模式以at字符(@)開頭以指示設備實例ID,然后以通配符(*)開頭以查找ROOT \ Legacy子項中的所有設備。
devcon find @root\legacy*
第二個命令通過搜索LegacyDriver類中的所有設備來查找舊設備。
devcon find =legacydriver
這兩個命令產生相同的輸出,在這種情況下,找到相同的27個舊設備。
ROOT\LEGACY_AFD\0000 : AFD Networking Support Environment
ROOT\LEGACY_BEEP\0000 : Beep
ROOT\LEGACY_DMBOOT\0000 : dmboot
ROOT\LEGACY_DMLOAD\0000 : dmload
ROOT\LEGACY_FIPS\0000 : Fips
ROOT\LEGACY_GPC\0000 : Generic Packet Classifier
ROOT\LEGACY_IPSEC\0000 : ipsec
ROOT\LEGACY_KSECDD\0000 : ksecdd
ROOT\LEGACY_MNMDD\0000 : mnmdd
ROOT\LEGACY_MOUNTMGR\0000 : mountmgr
ROOT\LEGACY_NDIS\0000 : ndis
ROOT\LEGACY_NDISTAPI\0000 : Remote Access NDIS TAPI Driver
ROOT\LEGACY_NDISUIO\0000 : NDIS Usermode I/O Protocol
ROOT\LEGACY_NDPROXY\0000 : NDProxy
ROOT\LEGACY_NETBT\0000 : netbt
ROOT\LEGACY_NULL\0000 : Null
ROOT\LEGACY_PARTMGR\0000 : PartMgr
ROOT\LEGACY_PARVDM\0000 : ParVdm
ROOT\LEGACY_RASACD\0000 : Remote Access Auto Connection Driver
ROOT\LEGACY_RDPCDD\0000 : RDPCDD
ROOT\LEGACY_RDPWD\0000 : RDPWD
ROOT\LEGACY_TCPIP\0000 : tcpip
ROOT\LEGACY_TDPIPE\0000 : TDPIPE
ROOT\LEGACY_TDTCP\0000 : TDTCP
ROOT\LEGACY_VGASAVE\0000 : VgaSave
ROOT\LEGACY_VOLSNAP\0000 : VolSnap
ROOT\LEGACY_WANARP\0000 : Remote Access IP ARP Driver
27 matching device(s) found.
示例22:在設置類中查找(並查找所有)設備
以下命令使用DevCon FindAll操作在Net setup類中查找計算機上的所有設備。等號(=)表示Net是設置類,而不是ID。
devcon findall =net
作為響應,DevCon在網絡設置類中列出了以下七個設備。前六個是標准的微型端口驅動程序設備。第七台設備RAS異步適配器是一種軟件枚舉設備(SW \ *),直到需要時才安裝。
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78\4&BB7B4AE&0&60F0: 3Com 3C920 Integrated Fast
Ethernet Controller (3C905C-TX Compatible)
ROOT\MS_L2TPMINIPORT\0000 : WAN Miniport (L2TP)
ROOT\MS_NDISWANIP\0000 : WAN Miniport (IP)
ROOT\MS_PPPOEMINIPORT\0000 : WAN Miniport (PPPOE)
ROOT\MS_PPTPMINIPORT\0000 : WAN Miniport (PPTP)
ROOT\MS_PTIMINIPORT\0000 : Direct Parallel
SW\{EEAB7790-C514-11D1-B42B-00805FC1270E}\ASYNCMAC : RAS Async Adapter
7 matching device(s) found.
以下命令將比較開發者大會尋找和開發者大會的FindAll通過運行一個業務開發者大會查找具有相同的參數前面的命令開發者大會的FindAll命令。
devcon find =net
作為響應,DevCon在網絡安裝程序類中列出了以下六個設備。
PCI\VEN_10B7&DEV_9200&SUBSYS_00BE1028&REV_78\4&BB7B4AE&0&60F0: 3Com 3C920 Integrated Fast
Ethernet Controller (3C905C-TX Compatible)
ROOT\MS_L2TPMINIPORT\0000 : WAN Miniport (L2TP)
ROOT\MS_NDISWANIP\0000 : WAN Miniport (IP)
ROOT\MS_PPPOEMINIPORT\0000 : WAN Miniport (PPPOE)
ROOT\MS_PPTPMINIPORT\0000 : WAN Miniport (PPTP)
ROOT\MS_PTIMINIPORT\0000 : 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類的篩選器驅動程序。它還顯示命令的預期結果。
| 之前 | 后 |
|---|---|
| 零件經理 |
零件經理 |
| 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,並說明您必須重新引導系統才能啟用該設備。
ACPI\PNP0000\4&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
ACPI\PNP0000\4&B4063F4&0
Name: Programmable interrupt controller
Driver is running.
示例29:按類別啟用設備
以下命令通過在DevCon Enable命令中指定Printer setup類來啟用計算機上的所有打印機設備。該命令包含/ r參數,如果需要使啟用生效,它將重新引導系統。
devcon /r enable =Printer
作為響應,DevCon顯示在打印機類中找到的打印機的設備實例ID,並報告其已啟用。盡管該命令包含/ r參數,但系統並未重新啟動,因為不需要重新啟動即可啟用打印機。
LPTENUM\HEWLETT-PACKARDDESKJET_1120C\1&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參數,但系統並未重新引導,因為不需要重新引導來禁用設備。
USB\ROOT_HUB\4&2A40B465&0
: Disabled
USB\ROOT_HUB\4&7EFA360&0
: Disabled
USB\VID_045E&PID_0039\5&29F428A4&0&2
: Disabled
3 device(s) disabled.
示例31:通過設備實例ID禁用設備
以下命令使用“ DevCon禁用”操作來禁用本地計算機上的USB設備。該命令通過設備實例ID來標識設備,如每個ID前面的at字符(@)所示。每個設備實例ID均由空格分隔。
此外,由於設備的實例ID包括與符號字符(&),它們被包含在引號。該命令包含/ r參數,如果需要使禁用生效,它將重新引導系統。
devcon /r disable "@USB\ROOT_HUB\4&2A40B465&0" "@USB\ROOT_HUB\4&7EFA360&0" "@USB\VID_045E&PID_0039\5&29F428A4&0&2"
作為響應,DevCon顯示USB設備的設備實例ID並報告它們已被禁用。盡管該命令包含/ r參數,但系統並未重新引導,因為不需要重新引導來禁用設備。
USB\ROOT_HUB\4&2A40B465&0
: Disabled
USB\ROOT_HUB\4&7EFA360&0
: Disabled
USB\VID_045E&PID_0039\5&29F428A4&0&2
: Disabled
3 device(s) disabled.
示例32:更新通信端口的驅動程序
以下命令使用DevCon Update操作將系統上用於通信端口的當前設備驅動程序替換為test.inf文件中指定的測試驅動程序。該命令僅影響整個硬件ID為* PNP0501(包括星號)的設備。
您可以使用此命令將系統上已簽名的驅動程序替換為備用驅動程序以進行測試或故障排除,或將設備與同一驅動程序的最新版本相關聯。
devcon update c:\windows\inf\test.inf *PNP0501
作為響應,DevCon顯示硬件安裝警告,說明驅動程序尚未通過Windows徽標測試。如果您單擊仍然繼續在對話框按鈕,繼續安裝。
然后,DevCon顯示以下成功消息。
Updating drivers for *PNP0501 from c:\windows\inf\test.inf.
Drivers updated successfully.
您還可以使用DevCon UpdateNI操作(DevCon Update操作的非交互式版本)來更新驅動程序。所述開發者大會UpdateNI操作是相同的開發者大會更新不同之處在於它抑制需要響應的所有用戶提示,並假定默認響應於該提示操作。
以下命令使用DevCon UpdateNI操作來安裝測試驅動程序。
devcon updateni c:\windows\inf\test.inf *PNP0501
在這種情況下,DevCon不會顯示“ 硬件安裝”警告。而是假定默認響應為Stop Installation。結果,DevCon無法更新驅動程序並顯示失敗消息。
Updating drivers for *PNP0501 from c:\windows\inf\test.inf.
devcon failed.
示例33:安裝設備
以下命令使用DevCon Install操作在本地計算機上安裝鍵盤設備。該命令包括設備INF文件的完整路徑(keyboard.inf)和硬件ID(* PNP030b)。
devcon /r install c:\windows\inf\keyboard.inf *PNP030b
作為響應,DevCon報告它已經安裝了該設備,即它已經為新設備創建了一個設備節點並更新了該設備的驅動程序文件。
Device node created. Install is complete when drivers files are updated...
Updating drivers for *PNPO30b from c:\windows\inf\keyboard.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。
USB\ROOT_HUB\4&2A40B465&0 : Removed
USB\ROOT_HUB\4&7EFA360&0 : Removed
USB\VID_045E&PID_0039\5&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。
ROOT\MS_NDISWANIP\0000 : 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 \ 0000。at字符(@)將字符串標識為設備實例ID。請求文字搜索的單引號字符(')阻止DevCon將ID中的星號解釋為通配符。
devcon restart =net @'ROOT\*MSLOOP\0000
作為響應,DevCon顯示設備的設備實例ID並報告結果。
ROOT\*MSLOOP\0000 : 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 @ROOT\LEGACY_BEEP\0000 := beep
作為響應,DevCon顯示一條消息,指示已將蜂鳴聲添加到設備的硬件ID列表中。它還顯示結果硬件ID列表。在這種情況下,列表中只有一個硬件ID。
ROOT\LEGACY_BEEP\0000 : 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 @ROOT\LEGACY* := -legacy
作為響應,DevCon顯示所有受影響設備的結果硬件ID列表。
ROOT\LEGACY_AFD\0000 : legacy
ROOT\LEGACY_BEEP\0000 : beep,legacy
ROOT\LEGACY_CRCDISK\0000 : legacy
ROOT\LEGACY_DMBOOT\0000 : legacy
ROOT\LEGACY_DMLOAD\0000 : legacy
ROOT\LEGACY_FIPS\0000 : legacy
...
ROOT\LEGACY_WANARP\0000 : 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列表。
ROOT\LEGACY_AFD\0000 :
ROOT\LEGACY_BEEP\0000 : beep
ROOT\LEGACY_CRCDISK\0000 :
ROOT\LEGACY_DMBOOT\0000 :
ROOT\LEGACY_DMLOAD\0000 :
ROOT\LEGACY_FIPS\0000 :
...
ROOT\LEGACY_WANARP\0000 :
Modified 27 hardware ID(s).
示例43:添加,刪除和替換硬件ID
以下示例系列顯示了如何使用DevCon SetHwID操作的各種功能。
本系列使用一個虛擬設備DeviceX,其設備實例ID為ROOT \ DeviceX \ 0000。在使用DevCon之前,設備具有以下硬件ID列表:
Hw3 Hw4
以下命令使用+符號將Hw1和Hw2添加到DeviceX的硬件ID列表的開頭。由於Hw2已經出現在列表中,因此將其移動而不是添加。該命令通過設備實例ID來標識設備,如ID 前面的at字符(@)所示。
devcon sethwid @ROOT\DEVICEX\0000 := +Hw1 Hw2
作為響應,DevCon顯示設備的新硬件ID列表。請注意,Hw1和Hw2以指定順序出現在列表的開頭。
ROOT\DEVICEX\0000 : Hw1,Hw2,Hw3,Hw4
Modified 1 hardware ID(s).
此外,DevCon報告它修改了一個硬件ID列表,即一個設備的硬件ID列表。
以下命令使用!符號以刪除Hw1硬件ID。然后,它列出了沒有符號參數的硬件ID Hw5。沒有符號參數,SetHwID會將硬件ID添加到設備的硬件ID列表的末尾。
該命令說明,與DevCon SetHwID操作的其他符號參數不同,!是!符號僅適用於其前綴的硬件ID。
devcon sethwid @ROOT\DeviceX\0000 := !Hw1 Hw5
作為響應,DevCon將顯示生成的DeviceX硬件ID列表。
ROOT\DEVICEX\0000 : Hw2,Hw3,Hw4,Hw5
Modified 1 hardware ID(s).
以下命令使用=參數將DeviceX列表中的所有硬件ID替換為單個硬件ID DevX。
devcon sethwid @ROOT\DeviceX\0000 := =DevX
作為響應,DevCon將顯示生成的DeviceX硬件ID列表。
ROOT\DEVICEX\0000 : 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 @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
作為響應,DevCon顯示HAL的以下新硬件ID列表。
ROOT\ACPI_HAL\0000 : acpiapic_mp
Modified 1 hardware ID(s).
以下命令使用DevCon Update操作更新HAL的驅動程序。
devcon update c:\windows\inf\hal.inf acpiapic_mp
然后,DevCon顯示以下成功消息。
Updating drivers for acpiapic_mp from c:\windows\inf\hal.inf.
Drivers updated successfully.
