วิธีการที่ Windows กำหนดโปรแกรมควบคุมอุปกรณ์ที่เหมาะสมที่สุดในการติดตั้งในระหว่างการติดตั้ง

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 279112 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

บทความนี้อธิบายถึงกระบวนการที่จะใช้ในการเลือกโปรแกรมควบคุมอุปกรณ์ที่เหมาะสมที่สุดสำหรับอุปกรณ์ในระหว่างการติดตั้ง

เมื่อคุณรันโปรแกรมติดตั้ง Windows คุณอาจมีมากกว่าหนึ่งชุดของโปรแกรมควบคุมอุปกรณ์หรือแฟ้ม.inf ที่ทำงานร่วมกับอุปกรณ์เฉพาะ โปรแกรมติดตั้งและ Plug and Play พยายามที่จะแก้ไขข้อขัดแย้งเหล่านี้ โดยการเลือกโปรแกรมควบคุมอุปกรณ์ที่ตรงกันที่เหมาะสมที่สุดสำหรับอุปกรณ์ที่มีการติดตั้ง

หมายเหตุ:: บทความนี้อธิบายถึงกระบวนการที่จะใช้สำหรับอุปกรณ์ที่มีการติดตั้งในระหว่างระยะ (GUI) ของอินเทอร์เฟซผู้ใช้แบบกราฟิก ของการติดตั้ง หรือหลัง จากที่ติดตั้งเสร็จสมบูรณ์ เท่านั้น ตัวควบคุมการจัดเก็บโดยรวมตรวจหาและโปรแกรมควบคุมอุปกรณ์เลือกกระบวนการที่จะดำเนินการระหว่างส่วนโหมดข้อความของการติดตั้ง ทำตามขั้นตอนที่แตกต่างกัน

ข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการตรวจหาการควบคุมการจัดเก็บโดยรวม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
220845การเพิ่มโปรแกรมควบคุมของ บริษัทอื่น หรือปรับปรุงในระหว่างการติดตั้ง Windows

ปลั๊ก and Play พยายามค้นหาโปรแกรมควบคุมอุปกรณ์ที่เข้ากันได้ โดยการเปรียบเทียบรหัส Plug and Play (รหัส) ของฮาร์ดแวร์ (คืน โดยเฟิร์มแวร์ของอุปกรณ์หรือระบบ BIOS ในเวลาที่มีการระบุอุปกรณ์ดังกล่าว) มีรหัส Plug and Play ตรงกันที่อยู่ในแฟ้ม.inf

ปลั๊ก and Play สามารถทำการค้นหาแฟ้ม.inf ทั้งหมดสำหรับโปรแกรมควบคุมอุปกรณ์ที่เหมาะสมที่สุดในการติดตั้งสำหรับอุปกรณ์ที่เฉพาะ ไม่ปลั๊ก and Play หยุดการค้นหาในการจับคู่แรกที่ค้นหาแบบพลักแอนด์เพลย์ ปลั๊ก and Play ยังคงมีอยู่เพื่อค้นหาแฟ้ม.inf ทั้งหมดที่อยู่ในพาธการค้นหาแบบพลักแอนด์เพลย์ ตามที่กำหนดไว้ในรายการรีจิสทรีต่อไปนี้:
LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion HKEY
DevicePath:Reg_Expand_SZ:%Systemroot%\Inf

หมายเหตุ:: โดยค่าเริ่มต้น ที่ตั้งของรีจิสทรีก่อนหน้านี้เท่านั้นประกอบด้วยรายการเดียวนี้ อย่างไรก็ตาม เส้นทางพิเศษอาจมีกับรายการนี้เมื่อคุณทำการติดตั้งแบบอัตโนมัติและOemPnpDriversPath =พารามิเตอร์ถูกใช้ในแฟ้มคำตอบที่ทำงานอัตโนมัติ

การตั้งค่าสร้างรายการของโปรแกรมควบคุมอุปกรณ์ที่เข้ากันได้ที่อยู่ตรงกันในแฟ้ม.inf และกำหนดแบบลำดับเป็น "ขั้น" สำหรับแต่ละซึ่งได้ถูกตั้งอยู่ แบบลำดับขั้นสามารถช่วงจาก "0 "เป็น" 0xFFFF" กับ 0 จะเป็นไปได้ที่เหมาะสมที่สุดตรงและ 0xFFFF เป็นไปได้ที่ worst ตรง โปรแกรมควบคุมอุปกรณ์กับแบบลำดับขั้นต่ำที่สุดจะถือว่าเป็นไปได้ที่เหมาะสมที่สุดตรง และ โปรแกรมควบคุมอุปกรณ์ที่ติดตั้ง

ชั้นไดรเวอร์ของอุปกรณ์มีช่วงที่ต่อไปนี้:
  • 0x0 เพื่อ 0xfff: ID ของฮาร์ดแวร์อุปกรณ์ที่ตรงกับ ID ของฮาร์ดแวร์ระบุไว้ในแฟ้ม.inf
  • 0x1000 ไป 0x1fff: ID ของฮาร์ดแวร์อุปกรณ์ที่ตรงกับหมายเลขที่เข้ากันได้ในแฟ้ม.inf อย่างใดอย่างหนึ่ง
  • 0x2000 ไป 0x2fff: หนึ่งของอุปกรณ์เข้ารหัสตรงกับ ID ของฮาร์ดแวร์ในแฟ้ม.inf
  • 0x3000 ไป 0x3fff: หนึ่งของอุปกรณ์เข้ารหัสตรงกับ ID ที่เข้ากันได้ในแฟ้ม.inf
  • 0xFFFF: case ที่ worst ตรงกัน
ใน Windows XP และ Windows Server 2003 มีช่วงที่แบบลำดับขั้นของโปรแกรมควบคุมอุปกรณ์เพิ่มเติม:
  • 0x8000 ไป 0x8FFF: ตรงกับหมายเลขฮาร์ดแวร์ที่ไม่น่าเชื่อถือ
  • 0x9000 ไป 0x9FFF: ตรงกับ ID ที่เข้ากันไม่น่าเชื่อถือ
แฟ้มบางแฟ้ม.inf อาจอยู่ในช่วงที่ไม่น่าเชื่อถือ ถ้าพวกเขาจะไม่เซ็นชื่อแบบดิจิทัล หรือ ถ้าไม่ประกอบด้วยชื่อของแบบจำลองส่วนเฉพาะของ Windows NT decorations (อุปกรณ์สามารถติดตั้งบน Windows NT, Windows 95 หรือ Windows 98 แต่อุปกรณ์ไม่มีรายการที่ระบุสำหรับระบบปฏิบัติการเหล่านี้) ได้

หากโปรแกรมติดตั้งระบุว่าโปรแกรมควบคุมอุปกรณ์ไม่น่าเชื่อถือ เซ็ตอัพสามารถเปลี่ยนแปลงแบบลำดับขั้นของโปรแกรมควบคุมอุปกรณ์ลงในช่วงที่เหมาะสมก่อนหน้านี้
ranks โปรแกรมควบคุมอุปกรณ์ที่อยู่ในช่วงของ 0x0 เพื่อ 0xfff จะเรียกว่า "หมายเลขของฮาร์ดแวร์ตรงกับ" เนื่องจากพวกเขาตรงกับ ID ของฮาร์ดแวร์ไปยังหมายเลขของฮาร์ดแวร์ ranks เหล่านี้จะยังถือว่าเป็นรายการที่ตรงกันเหมาะสมที่สุด และ ranks อื่น ๆ จะแสดงรายการเป็น "เข้ากันได้" ได้เนื่องจากไม่มี ID ที่เข้ากันได้อย่างน้อยหนึ่งในการสร้างแบบลำดับขั้นของโปรแกรมควบคุมอุปกรณ์ Class installers and co-installers can also affect the selection of the device driver by flagging the device driver as "invalid" if the installer determines that the device driver is unable to support the device, or if the installer changes the rank of a device driver.

However, if two device drivers have the same lowest rank, Setup uses the device driver with the most recent date. If one of the device drivers is signed and the other device driver is unsigned, the unsigned device driver date is assigned a value of 0xFFFFFFFF, and the signed device driver is selected and installed.

It may be possible to supply an OEM-supplied device driver, but it may not be selected and used. Even though a manufacturer has supplied an updated device driver, it may have only been written as a compatible device driver which can give it a higher rank number that results in a worse match. Setup does not consider whether the OEM-supplied device driver is digitally signed when Setup selects a device driver match. If the unsigned device driver has a lower rank and is a better match than any other in-box device driver, that device driver can be selected and installed by Setup.

When you run Setup, if a match is not found in any .inf file, the device installation is postponed and the device may become an unknown device in Device Manager. If a new device is introduced (not during Setup) and a match is not found in any .inf files on the computer, you can receive a "New Hardware Found" prompt and you can be asked to supply a device driver.

For example, you have a computer that has a PCI video adapter with a Plug and Play ID that is displayed in two different .inf files, Nv3_disp.inf and Nv4_disp.inf. Neither of these device driver files are digitally signed so both of the device driver dates are assigned a value of 0xFFFFFFFF. In this example, these files are located in the following D:\Drivers\Video1 and D:\Drivers\Video2 folders.

The current Devicepath= in the registry has the %Systemroot%\Inf;%Systemdrive%\Drivers\Video1;%Systemdrive%\Drivers\Video2 entries.

หมายเหตุ:: The %Systemroot% is D:\Winnt and %Systemdrive% is D:

Both Setup and Plug and Play searches all the .inf files found in these preceding paths and records any matches that are found. If either Setup or Plug and Plug finds more that one match, the most suitable match is used.

The following excerpt from the Setupapi.log file details the preceding process. For this example, the Logging mode for setup had been placed in the Verbose mode by using the following article:
243996How to enable Verbose Logging in Windows 2000 GUI-Mode Setup

If Setup runs normally, you do not observe this much detail in the Setupapi.log file.

When a device is queried, it returns a list of hardware IDs and compatible IDs. Not all devices return multiple IDs, but in most cases, they do. In this example, a video card returns the following IDs:
Searching for hardware IDs:
Pci\Ven_10de&dev_0028&subsys_5a001092&rev_11,
Pci\Ven_10de&dev_0028&subsys_5a001092,
Pci\Ven_10de&dev_0028&cc_030000,
Pci\Ven_10de&dev_0028&cc_0300
Searching for compatible IDs:
Pci\Ven_10de&dev_0028&rev_11,
Pci\Ven_10de&dev_0028,
Pci\Ven_10de&cc_030000,
Pci\Ven_10de&cc_0300,
Pci\Ven_10de,pci\cc_030000,
Pci\Cc_0300
Enumerating files D:\Winnt\Inf\*.inf
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\1394.inf".
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\accessor.inf".
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\acpi.inf".
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\adm_mult.inf".
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\adm_port.inf".
@ 07:11:59.207 : Opened PNF of "D:\Winnt\Inf\agtinst.inf".
.
.
.
Enumerating files D:\Drivers\Video1\*.inf
@ 07:12:00.660 : Opened PNF of "D:\Drivers\Video1\NV4_DISP.inf".
@ 07:12:00.660 : The file (D:\Drivers\Video1\NV4_DISP.inf) is not digitally
 signed, ignoring driver date.
@ 07:12:00.660 :Found Pci\VEN_10DE&DEV_0028 in 
D:\Drivers\Video1\NV4_DISP.inf; Device: NVIDIA RIVA TNT2; Driver: NVIDIA 
RIVA TNT2; Provider: NVIDIA; Mfg: NVIDIA; Section: nv4
@ 07:12:00.660 : Decorated section name: nv4
Enumerating files D:\Drivers\Video2\*.inf
@ 07:12:00.660 : Opened PNF of "D:\Drivers\Video2\NV3_DISP.inf".
@ 07:12:00.675 : The file (D:\Drivers\Video2\NV3_DISP.inf) is not digitally
 signed, ignoring driver date.
@ 07:12:00.675 : Found PCI\VEN_10DE&DEV_0028 in
 D:\Drivers\Video2\NV3_DISP.inf; Device: NVIDIA RIVA TNT2; Driver: NVIDIA
 RIVA TNT2; Provider: NVIDIA; Mfg: NVIDIA; Section: nv4
@ 07:12:00.675 : Decorated section name: nv4
@ 07:12:01.706 : Device install function: DIF_SELECTBESTCOMPATDRV.
@ 07:12:01.706 : Executing class installer.
@ 07:12:01.894 : Completed class installer.
@ 07:12:01.894 : Executing default installer.
@ 07:12:01.894 : Selected driver installs from section nv4 in D:\Drivers\Video1\Nv4_disp.inf.
@ 07:12:01.894 : Changed class GUID of device to {4D36E968-E325-11CE-BFC1-08002BE10318}.
@ 07:12:01.894 : Set selected driver.
@ 07:12:01.894 : Selected best compatible driver.
@ 07:12:01.894 : Completed default installer.
@ 07:12:06.565 : Device install function: DIF_ALLOW_INSTALL.
@ 07:12:06.565 : Executing class installer.
@ 07:12:06.565 : Completed class installer.
@ 07:12:06.581 : Device install function: DIF_INSTALLDEVICEFILES.
@ 07:12:06.581 : Executing class installer.
@ 07:12:06.581 : Completed class installer.
@ 07:12:06.581 : Executing default installer.
				
In the example output, Setup selected and installed the device driver by using the D:\Drivers\Video1\Nv4_disp.inf file because Setup found that device driver to be the most suitable match.

To easily locate the installed devices and the .inf files that had been used to install the device, open the %Systemroot%\Setupapi.log file in Windows Notepad and search for DIF_SelectBestCompatDrv for Plug and Play installed devices or DIF_SelectDevice for devices that had been installed manually.

คุณสมบัติ

หมายเลขบทความ (Article ID): 279112 - รีวิวครั้งสุดท้าย: 8 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
Keywords: 
kbenv kbinfo kbsetup kbmt KB279112 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:279112

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com