USBView.exe 예제 프로그램을 Windows XP SP1 기반 컴퓨터에 이전 버전 장치에서 열거

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

838100
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
현상
범용 직렬 버스(USB) 장치 및 호스트 컨트롤러 열거할 수 USBView.exe 프로그램을 사용할 때 다음과 같은 현상이 나타날 수 있습니다.
  • A - 문제는 Microsoft Windows 2000 기반 컴퓨터에 USB 2.0 호스트 컨트롤러에 열거되지 않습니다.
  • 문제는 B - 연결된 USB 장치가 표시되지 않습니다.

    샘플은 다음과 같은 운영 체제에서 실행할 때 USB 장치를 사용하여 Windows XP 서비스 팩 1 Windows 드라이버 개발 키트 (DDK를)를 사용하여 빌드한 USBView.exe 프로그램 버전을 표시하지 않습니다.
    • Windows XP 릴리스 버전입니다.
    • 모든 버전의 Microsoft Windows 2000, Microsoft Windows Millennium Edition 또는 Microsoft Windows 98.
원인

A - 문제는 Windows 2000 기반 컴퓨터에 USB 2.0 호스트 컨트롤러에 열거되지 않습니다.

Windows 2000 기반 컴퓨터에서 다음과 같은 두 가지 다른 USB 드라이버 스택이 실행되기 때문에 Windows 2000 기반 컴퓨터에 USB 2.0 호스트 컨트롤러의 USBView.exe 프로그램 열거할 수 있지 없습니다.
  • 첫 번째 스택 USB 1.1 호스트 컨트롤러가 사용됩니다.
  • 두 번째 스택 USB 2.0 호스트 컨트롤러에 대한 사용됩니다.
두 USB 드라이버 스택은 다음과 같은 형식으로 인스턴스 번호를 x 위치를 나타내는 기호화된 링크 이름 만들기:
\DosDevices\HCD x
USB 드라이버 스택을 두 인스턴스 번호는 0에서 시작합니다. 이 동작을 모두 드라이버 스택을 다음 기호화된 링크 이름을 만들려고 의미합니다.
\DosDevices\HCD0
USB 2.0이 기호화된 링크 이름 을 드라이버 스택은 USB 1.1 드라이버 스택에 만들려고 기호화된 링크 이름을 만듭니다. 따라서 기호화된 링크 이름을 만든 및 심볼 링크를 통해 USB 2.0 호스트 컨트롤러에 액세스할 수 없습니다.

문제는 B - 연결된 USB 장치가 표시되지 않습니다.

Windows XP SP1에서 포함된 USB 드라이버 스택은 다음과 같이 이름의 새 입/출력 컨트롤을 (IOCTL) 지원합니다.
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX
이 IOCTL IOCTL_USB_GET_NODE_CONNECTION_INFORMATION 라는 IOCTL 이전 버전을 바꿉니다. 이전 버전의 경우 IOCTL 이전 버전의 USBView.exe 프로그램 사용했습니다.

USBView.exe 프로그램은 높은 속도로 USB 장치의 작동 여부에 대한 정보를 반환하기 때문에 이 최신 IOCTL 사용하도록 수정되었습니다.

XP SP1 기반 컴퓨터에 Windows 이전 IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX 사용하려고 하면 시도가 성공하지 못합니다. 또한 USB 장치에 대한 정보가 표시됩니다.
해결 방법

A - 문제는 Microsoft Windows 2000 기반 컴퓨터에 USB 2.0 호스트 컨트롤러에 열거되지 않습니다.

심볼 링크 이름을 지원할 뿐 아니라 새 USB 드라이버 스택은 GUID 기반 장치 인터페이스 사용을 지원합니다.

Enum.c 파일 EnumerateHostControllers 함수에서 메모를 호스트 컨트롤러가 열거할 수 이 기술을 사용하는 방법을 설명하는 있는 섹션이 포함되어 있습니다. Windows 2000 기반 컴퓨터에서 실행 중일 때 검색하려면 이 함수를 수정할 수 있습니다. 다음 모든 USB 호스트 컨트롤러를 열거하려면 GUID 기반 열거 메서드와 심볼 링크의 메서드를 사용할 수 있습니다.

문제는 B - 연결된 USB 장치가 표시되지 않습니다.

모든 사용을 새 IOCTL IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX, USBView.exe 프로그램에서 수정할 수 있습니다. 해당 IOCTL을 수정하여 해당 IOCTL 성공적일 경우 USBView.exe 프로그램을 다시 IOCTL_USB_GET_NODE_CONNECTION_INFORMATION IOCTL 이전 버전을 사용하는 대칭을 수 있습니다.

이 대체 동작을 USBView.exe 프로그램이 장치를 높은 속도로 Windows XP SP1 또는 이후 버전의 Windows 실행하는 컴퓨터에서 실행되고 있는지 여부를 보고서 여전히 수 있습니다. 또한 이 대체 동작을 Windows 이전 XP SP1 기반 컴퓨터에 USB 장치는 또한 표시합니다.
추가 정보
이 문제는 Server 2003 서비스 팩 1 Windows DDK에서 에서 수정되었습니다.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 838100 - 마지막 검토: 12/08/2015 06:34:35 - 수정: 2.0

Microsoft Windows XP Driver Development Kit

  • kbnosurvey kbarchive kbmt kbprb KB838100 KbMtko
피드백