USB Device-Specific 메서드(_DSM)
USB 하위 시스템의 디바이스 클래스별 구성을 지원하기 위해 Windows는 이 문서에 설명된 함수가 있는 Device-Specific 메서드(_DSM)를 정의합니다.
모든 _DSM 함수 인덱스 0은 지원되는 함수 인덱스 집합을 반환하는 쿼리 함수이며 항상 필요합니다. 자세한 내용은 ACPI 5.0 사양의 9.14.1절, "_DSM(디바이스별 방법)"을 참조하세요.
함수 1: 이중 역할 컨트롤러에 대한 초기화 후 처리
이 함수를 사용하면 _DSM 메서드가 USB 컨트롤러 디바이스 아래에 나타나야 합니다.
이중 역할 USB 컨트롤러에 대한 초기화 후 처리 함수에 대한 _DSM 제어 메서드 매개 변수는 다음과 같습니다.
인수(함수 1)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1: 수정 ID = 0
- Arg2: 함수 인덱스 = 1
- Arg3: 빈 패키지(사용되지 않음)
반환(함수 1)
없음
Windows 받은 편지함 드라이버는 호스트 모드에서 USB 컨트롤러만 지원합니다. 각 컨트롤러가 다시 설정되면 USB 드라이버는 _DSM 함수 인덱스 1을 호출하여 호스트 모드에서 작동하도록 USB 컨트롤러를 구성하는 데 필요한 컨트롤러별 초기화를 수행합니다.
함수 2: 포트 형식 식별
이 함수를 사용하면 _DSM 메서드가 USB 포트 디바이스 아래에 나타나야 합니다.
USB 포트 유형을 식별하기 위한 _DSM 제어 메서드 매개 변수는 다음과 같습니다.
인수(함수 2)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1: 수정 ID = 0
- Arg2: 함수 인덱스: 2
- Arg3: 빈 패키지(사용되지 않음)
Return (함수 2)
다음 값 중 하나를 포함하는 정수입니다.
요소 | 개체 유형 | 묘사 |
---|---|---|
포트 유형 | 정수(BYTE) | USB 포트의 유형을 지정합니다. 0x00 – 일반 USB 0x01 – HSIC 0x02 – SSIC 0x03 – 0xff 예약됨 |
함수 5: 포트에 U1 및 U2 전환 사용 안 함
이 _DSM 메서드가 0x01 반환되면 USB 버스 드라이버는 포트에 대한 U1 및 U2 전환을 사용하지 않도록 설정합니다. 0x00을 반환하는 경우, USB 버스 드라이버는 의 U1 및 U2 전환에 대한 설명이 있는의 기본 휴리스틱으로 돌아갑니다.
_DSM 메서드는 USB3 포트 아래에 나타나야 합니다. Windows 10 버전 2004(Vibranium)부터 사용할 수 있습니다.
_DSM 컨트롤 메서드 매개 변수는 다음과 같습니다.
인수(함수 5)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1: 수정 ID = 0
- Arg2: 함수 인덱스 = 5
- Arg3: 빈 패키지(사용되지 않음)
Return (함수 5)
다음 값 중 하나를 포함하는 정수입니다.
요소 | 개체 유형 | 묘사 |
---|---|---|
U1 및 U2를 사용하지 않도록 설정하시겠습니까? | 정수(BYTE) | U1 및 U2 동작을 지정합니다. 0x00 – USB 버스 드라이버는 U1 및 U2에 대해 기본 설정으로 되돌아갑니다. 0x01 – U1 및 U2 전환은 사용하지 않도록 설정됩니다. 0x02 – 0xff 예약됨 |
함수 6: 쿼리 컨트롤러 레지스터 액세스 유형
이 함수는 Windows Server 2022 및 Windows 11부터 사용할 수 있습니다.
이 함수를 사용하면 _DSM 메서드가 USB 컨트롤러 디바이스 아래에 나타나야 합니다.
USB 컨트롤러와 통신하기 위해 레지스터 액세스 유형을 쿼리하기 위한 _DSM 제어 메서드 매개 변수는 다음과 같습니다.
인수(함수 6)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1: 수정 ID = 0
- Arg2: 함수 인덱스 = 6
- Arg3: 빈 패키지(사용되지 않음)
Return (함수 6)
다음 값 중 하나를 포함하는 정수입니다.
요소 | 개체 유형 | 묘사 |
---|---|---|
등록 접근 유형 | 부호 없는 4비트(32비트) 길이 | USB 컨트롤러 레지스터 액세스의 유형을 지정합니다. 0x00 – 정의되지 않은 레지스터 액세스 0x01 – 32비트 레지스터 액세스를 사용해야 합니다. 0x02 - 0xffffffff 예약됨 |
함수 7: _UPC ACPI 사양 6.5에 정의된 대로 USB-C 포트 기능을 지원하는지 쿼리합니다.
ACPI 사양 6.5는 USB-C 포트 기능으로 _UPC 업데이트했습니다. 6.5 이전의 ACPI 사양 시스템에서 이 _DSM 메서드 함수를 사용하여 USB 허브의 USB 포트 _UPC 메서드에 ACPI 사양 6.5에 정의된 대로 USB-C 포트 기능이 있음을 나타낼 수 있습니다.
이 함수를 사용하면 _DSM 메서드가 USB 허브 디바이스 아래에 표시되어야 합니다.
_DSM 컨트롤 메서드 매개 변수는 다음과 같습니다.
인수(함수 7)
- Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899
- Arg1: 수정 ID = 0
- Arg2: 함수 인덱스 = 7
- Arg3: 빈 패키지(사용되지 않음)
Return (함수 7)
다음과 같은 정수입니다.
요소 | 개체 유형 | 묘사 |
---|---|---|
UpcSupportsUsbCPortCapabilities | 정수(BYTE) | 0x00: 이 USB 허브의 USB 포트의 _UPC 메서드에는 ACPI 사양 6.5에 정의된 USB-C 포트 기능이 없습니다. 0x01: 이 USB 허브의 USB 포트 _UPC 방법에는 ACPI 사양 6.5에 정의된 대로 USB-C 포트 기능이 있습니다. 0x02 - 0xFF: 예약됨. 사용하지 마세요. |