2013-05-15 3 views
1

USB 장치에서 제공된 장치 데이터가 해당 장치의 모든 장치에 공통적 인 경우에도 Windows에서 USB 장치를 고유하게 식별하는 방법은 무엇입니까? 다른 방법으로 말하면 Windows는 동일한 일련 번호를 제공하는 키보드가없는 동일한 모델의 Dell 키보드의 두 인스턴스를 구별 할 수 있습니다. 독점 데이터 필드 창은 USB 장치를 초기화 할 때 무엇을 검색합니까?windows는 USB 장치를 어떻게 식별합니까?

+0

이 질문은 고유 한 ID를 제공하지 않는 장치에만 해당합니까? USB는 다양한 장치에 대한 고유 한 식별자를 지원하므로 (필수는 아닙니다). – Dracs

+0

하나의 인스턴스는 키보드이거나 HID 장치는 일반적으로 일련 번호를 제공하지 않습니다. – Bleamer

+0

장치가 다른 포트에 연결되어있는 경우 호스트가 동일하지 않더라도 장치를 구별 할 수 있습니다. –

답변

1

장치를 호스트에 연결할 때 열거 프로세스가 수행됩니다.이 프로세스가 끝나면 호스트는 새로 연결된 장치에 고유 주소를 제공합니다. 따라서 시스템에 연결된 각 장치는이 ID를 사용하여 시스템에서 제공하는 고유 한 ID를 가지며 장치를 식별하고 통신 할 수 있습니다.

+0

이 경우를 고려하십시오. USB 장치는 OS에 전원이 공급되는 한 특정 장치를 인식하는 한 처음으로 연결됩니다. 그러나 다시 시작할 때 장치는 일부 데이터/고유 식별자/고유 번호 필드를 보내야합니다.이 필드를 사용하여 OS가이 장치가 이전에 플러그 인되었음을 인식합니다. – Bleamer

+0

@ 블리머 장치가 분리 된 경우 이전 상태와 상관없이 다음 플러그인에서 다시 열거됩니다. 장치를 다시 설정/다시 시작하면/연결 해제하지 않고 호출 한대로 열거 형을 잃지 않으며 장치 재시작 프로세스는 관련이 없습니다. 각 장치마다 고유 한 시퀀스입니다. – SomeWittyUsername

4

Windows는 식별을 위해 Device Instance ID을 사용합니다. 설명서에서 볼 수 있듯이 장치 파트와 인스턴스 파트가 있습니다.

장치 부품은 USB 장치에서 가져옵니다.

인스턴스 파트를 생성하는 방법은 버스 드라이버가 결정합니다. 버스 운전사는 USB 장치에서 반환 된 정보에만 의존 할 수 없습니다. 두 개의 동일한 장치가 시스템을 손상시킬 수 있으므로 장치 인스턴스 ID는 고유해야합니다! 그래서 대개 포트 번호 등의 추가 정보를 추가합니다 (정확한 알고리즘은 알 수 없으며 드라이버 제조업체에 따라 다릅니다). 또한 PNP 관리자는 인스턴스 ID에 고유성을 추가 할 수 있습니다.

관련 문제