2012-09-12 2 views
1

C# 및 WMI를 사용하여 일부 직원을 표시하고 있습니다. 장치 관리자에서 HardwareID가 inf 파일에서 찾은 것과 다릅니다. 예 : [제조]Windows 드라이버 하드웨어 ID

%KMDName% = KMD.Mfg 

[KMD.Mfg] 
"Intel(R) Graphics Media Accelerator"= generic32, PCI\VEN_8086&DEV_08C7 
"Intel(R) Graphics Media Accelerator"= generic32, PCI\VEN_8086&DEV_08C8 
"Intel(R) Graphics Media Accelerator"= generic32, PCI\VEN_8086&DEV_08C9 
"Intel(R) Graphics Media Accelerator"= generic32, PCI\VEN_8086&DEV_08CA 
"Intel(R) Graphics Media Accelerator"= generic32, PCI\VEN_8086&DEV_08CB 
"Intel(R) Graphics Media Accelerator"= generic32, PCI\VEN_8086&DEV_08CC 
"Intel(R) Graphics Media Accelerator"= generic32, PCI\VEN_8086&DEV_08CD 
"Intel(R) Graphics Media Accelerator"= generic32, PCI\VEN_8086&DEV_08CE 
"Intel(R) Graphics Media Accelerator"= generic32, [Manufacturer] 

하지만 장치 관리자에

PCI\VEN_8086&DEV_08CF\SUBSYS00_blablabla.. 

무언가 Inf를 파일에 HardwareID 추가된다 : 여기 난 Inf를 파일에. 끝이나 중간에. 누군가 설명하니?

그리고 WMI에서 장치 인스턴스 경로를 어떻게 쿼리 할 수 ​​있습니까? 또는 다른 솔루션?

답변

0

부분적으로 하드웨어 ID가 일치합니다.

버스 드라이버는 장치 인스턴스를 명확하게하기 위해 위치 정보를 추가하거나 일련 번호를 추가합니다. 예 : PCI 버스 드라이버는 PCI 슬롯 정보를 추가하여 카드를 식별합니다.

+0

맞아요! 나는 장치 관리자에서 하드웨어 ID를 식별 할 수 있고 문자열 처리로 inf 파일을 만들 수 있다고 생각합니다. 하지만 C#을 사용하여 장치 인스턴스 경로를 쿼리 할 수 ​​있습니까? 어떤 아이디어? 답장을 보내 주신 분 : – MagicTracy

+0

죄송합니다. 그냥 새로운 질문으로 게시하십시오. – Christopher

+0

고마워, 어쨌든 :) – MagicTracy