버그 검사 0x144: BUGCODE_USB3_DRIVER

BUGCODE_USB3_DRIVER 버그 검사 값은 0x00000144. 모든 USB 3 버그 검사에 사용되는 코드입니다. 매개 변수 1은 USB 3 버그 검사 형식을 지정하고 다른 매개 변수의 의미는 매개 변수 1에 따라 달라집니다.

중요

이 문서는 프로그래머용입니다. 컴퓨터를 사용하는 동안 파란색 화면 오류 코드를 받은 고객인 경우 블루 스크린 오류 문제 해결을 참조하세요.

BUGCODE_USB3_DRIVER 매개 변수

매개 변수 1 매개 변수 2 매개 변수 3 매개 변수 4 오류 원인

0x1

선택 사항입니다. URB를 다시 전송하는 데 사용되는 IRP에 대한 포인터

URB에 대한 포인터

클라이언트 드라이버의 디바이스 개체에 대한 포인터

클라이언트 드라이버는 이전에 코어 스택으로 전송한 URB를 사용했습니다.

0x2

부팅 디바이스에 대한 PDO(물리적 디바이스 개체)에 대한 포인터

예약됨

예약됨

부팅 또는 페이징 디바이스가 다시 열거에 실패했습니다.

0x3

선택 사항입니다. URB를 보내는 데 사용되는 IRP에 대한 포인터

손상된 URB에 대한 포인터

클라이언트 드라이버의 디바이스 개체에 대한 포인터

클라이언트 드라이버가 손상된 URB를 코어 스택으로 보냈습니다. 이는 클라이언트 드라이버가 USBD_xxxUrbAllocate 를 사용하여 URB를 할당하지 않았거나 클라이언트 드라이버가 URB에 대한 버퍼 언더런을 했기 때문에 발생할 수 있습니다.

0x800

정적 스트림 열기 요청이 전송된 IRQL

Open Static Streams IRP에 대한 포인터

클라이언트 드라이버의 디바이스 개체에 대한 포인터

IRQL > PASSIVE 수준에서 정적 스트림 열기 요청이 전송되었습니다.

0x801

Open Static Streams IRP에 대한 포인터

Open Static Streams URB에 대한 포인터

클라이언트 드라이버의 디바이스 개체에 대한 포인터

클라이언트 드라이버가 스트림 기능을 쿼리하기 전에 정적 스트림을 열려고 했습니다. 클라이언트 드라이버는 스트림 기능을 쿼리할 때까지 정적 스트림을 열 수 없습니다. 자세한 내용은 설명 부분을 참조하세요.

0x802

클라이언트 드라이버가 열려고 시도한 정적 스트림 수

클라이언트 드라이버에 부여된 정적 스트림 수

클라이언트 드라이버의 디바이스 개체에 대한 포인터

클라이언트 드라이버가 잘못된 수의 정적 스트림을 열려고 했습니다. 스트림 수는 0일 수 없으며 쿼리 USB 기능 호출에서 클라이언트 드라이버에 반환된 값보다 클 수 없습니다.

0x803

Open Static Streams IRP에 대한 포인터

Open Static Streams URB에 대한 포인터

클라이언트 드라이버의 디바이스 개체에 대한 포인터

클라이언트 드라이버가 이미 정적 스트림이 열려 있는 엔드포인트에 대한 정적 스트림을 열려고 했습니다. 정적 스트림을 열기 전에 클라이언트 드라이버는 이전에 연 정적 스트림을 닫아야 합니다.

0x804

유출된 핸들 컨텍스트입니다. !usbanalyze -v를 실행하여 유출된 핸들 및 URL에 대한 정보를 가져옵니다. 클라이언트 드라이버에 대해 드라이버 검증 도구 를 사용하도록 설정해야 합니다.

USBD_CreateHandle 전달된 디바이스 개체입니다.

예약됨

클라이언트 드라이버는 이전에 USBD_CreateHandle 사용하여 만든 핸들을 닫는 것을 잊거나 할당된 URB를 해제하는 것을 잊어버렸습니다.

0x805

정적 스트림 닫기 URB에 대한 WDFREQUEST 핸들

정적 스트림 닫기 URB에 대한 포인터

클라이언트 드라이버의 디바이스 개체에 대한 포인터

클라이언트 드라이버가 잘못된 상태(예: D0 Exit 처리 후)에서 정적 스트림 닫기 URB를 보냈습니다.

0x806

IRP에 대한 포인터

URB에 대한 포인터

클라이언트 드라이버의 디바이스 개체에 대한 포인터

클라이언트 드라이버가 연결된 MDL 기능을 쿼리하기 전에 연결된 MDL 을 보내려고 했습니다. 클라이언트 드라이버는 연결된 MDL 기능을 성공적으로 쿼리할 때까지 연결된 MDL 을 보낼 수 없습니다. 자세한 내용은 설명 부분을 참조하세요.

0x807

연결된 MDL에 대한 포인터

URB에 대한 포인터

사용 가능한 경우 클라이언트 드라이버의 디바이스 개체에 대한 포인터

클라이언트 드라이버는 전달된 MDL의 바이트 수(MmGetMdlByteCount에서 반환됨)보다 긴 전송 버퍼 길이로 URB를 코어 스택에 보냈습니다. 자세한 내용은 설명 부분을 참조하세요.

0x1001

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

xHCI 컨트롤러는 호스트 시스템 오류를 나타내는 HSE 비트를 어설션했습니다.

0x1002

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

xHCI 컨트롤러는 호스트 컨트롤러 오류를 나타내는 HCE 비트를 어설션했습니다.

0x1003

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

xHCI 중지 엔드포인트 명령은 처리되지 않은 완료 코드를 반환했습니다.

0x1004

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

xHCI 엔드포인트 중지 명령이 실행된 후 xHCI 엔드포인트 상태가 컨텍스트 상태 오류를 수신했습니다.

0x1005

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

제어 엔드포인트에서 중단을 지우려고 시도하는 동안 큐에서 제거 포인터를 설정하지 못했습니다.

0x1006

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

제어 엔드포인트에서 중단을 지우는 동안 EP를 다시 설정하지 못했습니다.

0x1007

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

복구를 다시 설정하는 동안 xHCI 컨트롤러의 초기화가 실패했습니다.

0x1008

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

다시 설정하는 동안 xHCI 컨트롤러를 다시 시작하지 못했습니다.

0x1009

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

명령 제한 시간이 중단된 후 xHCI 컨트롤러 명령을 완료하지 못했습니다.

0x100A

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

엔드포인트 중지 완료 후 큐에 넣기 해제 포인터를 설정하는 동안 큐에서 제거 포인터를 설정하지 못했습니다.

0x100B

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

다시 설정하는 동안 xHCI 컨트롤러의 중지가 실패했습니다.

0x100C

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

xHCI 컨트롤러의 펌웨어는 지원되지 않습니다. 펌웨어가 업데이트되지 않으면 xHCI 드라이버가 이 컨트롤러에 로드되지 않습니다.

0x100D

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러가 물리적으로 제거된 것으로 감지되었습니다.

0x100E

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

드라이버는 스트림 사용 엔드포인트에서 오류를 검색합니다.

0x100F

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

xHCI 컨트롤러의 펌웨어가 오래되었습니다. xHCI 드라이버는 이 컨트롤러로 계속 작동하지만 몇 가지 문제가 발생할 수 있습니다. 펌웨어 업데이트가 권장됩니다.

0x1010

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

처리되지 않은 완료 코드로 완료된 전송 이벤트 TRB입니다.

0x1011

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러는 이벤트 링이 가득 찼다고 보고했습니다. 이 경우 컨트롤러는 이벤트를 삭제하는 것으로도 알려져 있습니다.

0x1012

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러가 명령을 순서대로 완료했습니다.

0x1013

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

명령이 완료되지 않으면 컨트롤러에서 보고한 명령 링 큐에서 제거 포인터가 올바르지 않습니다.

0x1014

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

슬롯을 사용하도록 설정한 후 컨트롤러는 잘못된 슬롯 ID를 제공했습니다.

0x1015

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러가 BSR1을 사용하여 SetAddress 명령을 실패했습니다. 예기치 않은 일입니다.

0x1016

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러가 usbdevice 재설정 중에 슬롯을 사용하도록 설정하지 못했습니다. 이것은 예기치 않은 일입니다.

0x1017

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러가 엔드포인트를 구성 해제하는 엔드포인트 구성 명령에 실패했습니다. 그것은 예상치 못한 일입니다.

0x1018

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러가 슬롯 사용 안 함 명령을 실패했습니다. 그것은 예상치 못한 일입니다.

0x1019

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러가 USB 디바이스 재설정 명령에 실패했습니다. 그것은 예상치 못한 일입니다.

0x101A

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

엔드포인트 재설정 후 큐에서 제거 포인터 설정 명령이 실패했습니다.

0x101B

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

xHCI 다시 설정 엔드포인트 명령은 처리되지 않은 완료 코드를 반환했습니다.

0x101C

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

xHCI용 D0Entry가 실패했습니다.

0x101D

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

요청 취소 중에 Dequeue 포인터 설정 대신 엔드포인트 구성 명령을 사용하는 경우 스트림 엔드포인트를 일시적으로 삭제하고 두 개의 명령으로 추가하지 못했습니다.

0x101E

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러는 컨트롤러에서 보류 중이 아닌 전송 완료를 표시했습니다. EventData == 1(Transfer Event TRB의 포인터를 역참조하면 버그 검사가 발생했을 수 있습니다.)

0x101F

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러는 컨트롤러에서 보류 중이 아닌 전송 완료를 표시했습니다. EventData == 0(전송 이벤트 TRB의 논리적 주소가 일치하지 않음)

0x1020

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

컨트롤러는 컨트롤러에서 보류 중이 아닌 전송 완료를 표시했습니다. EventData == 0(전송 이벤트 TRB의 논리적 주소가 일치하지 않음) 전송 이벤트 TRB가 중복될 수 있습니다(최근에 완료된 요청 근처 지점).

0x1021

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

중지되지 않은 엔드포인트를 다시 설정하는 과정의 일부로 엔드포인트 구성 명령을 사용할 때 스트림 엔드포인트를 일시적으로 삭제하고 두 개의 명령으로 추가하지 못했습니다.

0x1022

XHCI_LIVEDUMP_CONTEXT

예약됨

예약됨

동일한 엔드포인트를 삭제하고 추가하지 못했습니다(하나의 명령으로).

0x3000

USBHUB3_LIVEDUMP_CONTEXT

예약됨

예약됨

허브 드라이버에서 잘못된 동작 허브를 성공적으로 다시 설정했습니다.

0x3001

USBHUB3_LIVEDUMP_CONTEXT

예약됨

예약됨

허브 드라이버에서 잘못된 동작 허브를 성공적으로 다시 설정하지 못했습니다.

0x3002

USBHUB3_LIVEDUMP_CONTEXT

예약됨

예약됨

허브 드라이버에서 작동하지 않는 SuperSpeed 허브를 사용하지 않도록 설정했습니다.

0x3003

USBHUB3_LIVEDUMP_CONTEXT

예약됨

예약됨

USB 디바이스가 열거에 실패했습니다.

설명

USB 기능을 쿼리하려면 클라이언트 드라이버가 WdfUsbTargetDeviceQueryUsbCapability 또는 USBD_QueryUsbCapability

연결된 MDL을 보내려면 클라이언트 드라이버가 USBD_QueryUsbCapability 호출하고 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL 또는 URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL 사용해야 합니다.

참고 항목

USB(범용 직렬 버스)

커널 라이브 덤프 코드 참조

오류 검사 코드 참조