다음을 통해 공유


AVStream 자식 디바이스

이 섹션은 DirectX 9.0 이상이 해당 플랫폼에 설치된 경우에만 Microsoft Windows Server 2003 및 이전 운영 체제에 적용됩니다.

AVStream은 디바이스에 대한 버스 열거자로 작동하여 열거형 분기의 각 키에 대한 자식 디바이스를 만들 수 있습니다. 이렇게 하려면 레지스트리의 열거형 분기를 디바이스 키 아래에 배치합니다.

특히 드라이버 INF 파일의 AddReg 섹션에서 공급업체는 열거형 아래의 각 항목에 대해 REG_SZ 형식의 값 pnpid를 제공합니다. AVStream은 이 문자열 값을 사용하여 각 개별 자식 디바이스에 대한 플러그 앤 플레이(PnP) 하드웨어 ID를 생성합니다.

DirectX 9.0 이전 릴리스에서 AVStream은 "AVStream\<pnpid>" 형식의 자식 디바이스 하드웨어 ID를 만듭니다(여기서 <pnpid> 는 특정 디바이스의 pnpid 값임).

예를 들어 공급업체는 INF 파일의 AddReg 섹션에서 다음을 지정합니다.

[MyTVDevice.AddReg]
HKR,"ENUM\CrossbarDevice",pnpid,,"MyCrossbar"
HKR,"ENUM\TunerDevice",pnpid,,"MyTuner"

따라서 AVStream은 다음 디바이스 ID를 사용하여 두 개의 자식 디바이스를 만듭니다.

AVStream\MyCrossbar

AVStream\MyTuner

동일한 pnpid 값을 지정하는 두 개의 서로 다른 자식 디바이스에서 모호성을 resolve DirectX 9.0 이상에서는 각 자식 디바이스에 대해 보고된 ID를 변경합니다. 부모 디바이스에서 보고한 각 하드웨어 ID에 대해 AVStream은 다음 형식으로 자식 디바이스에 대한 ID를 만듭니다.

AVStream\<pnpid 수정된>#<부모 하드웨어 ID>

수정된 부모 하드웨어 ID는 각 백슬래시() 문자가 숫자 기호(\#)로 대체된 부모 하드웨어 ID입니다.

결과 문자열이 너무 길면 AVStream은 NULL 종결자를 포함하여 MAX_DEVICE_ID_LEN 문자로 ID 문자열을 종료합니다. Windows Server 2003에서 이 제한은 cfgmgr32.h에서 200자로 설정됩니다.

예를 들어 부모 디바이스는 다음 하드웨어 ID를 보고합니다.

PCI\VEN_XXXX&DEV_YYYY&SUBSYS_ZZZZZZZZ&REV_VV

PCI\VEN_XXXX&DEV_YYYY&SUBSYS_ZZZZZZZZ

MyCrossbarpnpid 키가 있는 디바이스의 경우 AVStream은 다음과 같은 자식 디바이스 하드웨어 ID를 만듭니다.

AVStream\MyCrossbar#PCI#VEN_XXXX&DEV_YYYY&SUBSYS_ZZZZZZZZ&REV_VV

AVStream\MyCrossbar#PCI#VEN_XXXX&DEV_YYYY&SUBSYS_ZZZZZZZZ

AVStream은 부모 디바이스에서 보고한 호환 ID에 동일한 프로세스를 사용합니다. AVStream은 양식의 자식 디바이스에 대해 호환되는 ID를 만듭니다.

AVStream\<pnpid 수정된>#<부모 호환 ID>

호환되는 ID에 대한 이름 수정 및 길이 규칙은 하드웨어 ID의 이름과 동일합니다.

예를 들어 이전에 설명한 부모 디바이스가 다음과 같은 호환 ID를 보고하는 경우:

PCI\VEN_XXXX&DEV_YYYY&REV_VV

PCI\VEN_XXXX&DEV_YYYY

PCI\VEN_XXXX&CC_ZZZZZZ

PCI\VEN_XXXX&CC_ZZZZ

PCI\VEN_XXXX

PCI\CC_ZZZZZZ

PCI\CC_ZZZZ

MyCrossbar 자식 디바이스는 AVStream을 통해 다음과 같은 호환 ID를 보고합니다.

AVStream\MyCrossbar#PCI#VEN_XXXX&DEV_YYYY&REV_VV

AVStream\MyCrossbar#PCI#VEN_XXXX&DEV_YYYY

AVStream\MyCrossbar#PCI#VEN_XXXX&CC_ZZZZZZ

AVStream\MyCrossbar#PCI#VEN_XXXX&CC_ZZZZ

AVStream\MyCrossbar#PCI#VEN_XXXX

AVStream\MyCrossbar#PCI#CC_ZZZZZZ

AVStream\MyCrossbar#PCI#CC_ZZZZ

AVStream\MyCrossbar

참고 DirectX 9.0 이상에서는 레거시 하드웨어 ID인 AVStream\<pnpid>가 여전히 가장 낮은 순위 호환 ID로 보고됩니다. 결과적으로 레거시 드라이버는 이러한 플랫폼에서 수정되지 않은 상태로 계속 작동합니다. 그러나 DirectX 9.0 릴리스를 기준으로 AVStream 클래스 버스 열거자를 활용하는 신규 또는 수정된 드라이버를 작성하는 공급업체가 새 하드웨어 ID 형식을 사용하는 것이 좋습니다. 드라이버는 INF 파일의 호환 ID 목록에 이전 ID를 포함하여 이전 버전의 AVStream을 실행하는 플랫폼을 지원할 수 있습니다.