다음을 통해 공유


AV/C 디바이스 식별자

사용자가 AV/C 디바이스를 컴퓨터에 연결하면 Avc.sys 디바이스의 활성 하위 그룹을 열거하고 디바이스 식별자(ID) 문자열을 생성합니다. AV/C 디바이스의 각 활성 하위 단위에 대한 디바이스 식별자가 있습니다. AV/C 디바이스 에 활성 하위 단위가 없는 경우 Avc.sys AV/C 디바이스 자체에 대한 디바이스 식별자를 생성합니다.

피어 하위 단위의 디바이스 식별자 필드 형식은 다음과 같습니다.

AVC\Vendor&Model&SubunitType&SubunitID

가상 하위 단위의 디바이스 식별자 필드 형식은 다음과 같습니다.

VAVC\Vendor&Model&&SubunitType&SubunitID

숫자가 사용되는 필드에서 숫자는 16진수로 변환되고 알파 문자는 대문자로 변환됩니다. 앞에 오는 0이 없습니다. 드라이버의 INF 파일에 지정된 디바이스 식별자가 이 형식과 일치해야 합니다. 하드웨어 식별자 및 호환 식별자의 모든 숫자 필드에는 다음과 같이 태그가 지정됩니다(명시된 경우 제외).

  • 공급업체: VEN_ (공급업체 텍스트를 사용할 수 없는 경우)

  • 모델: MOD_ (모델 텍스트를 사용할 수 없는 경우)

  • SubunitType: TYP_

  • SubunitID: ID_

Avc.sys 외부 AV/C 디바이스에 있는 각 활성 하위 단위에 대한 디바이스 개체를 만듭니다. AV/C 디바이스가 IEEE 1394 버스에 추가되거나 제거될 때마다 IEEE 1394 버스 재설정이 트리거됩니다. 그런 다음 Avc.sys 연결된 모든 AV/C 디바이스에서 활성 하위 그룹을 다시 열거합니다. 다시 열거를 사용하면 AV/C 디바이스의 작동 모드가 전환될 때마다 Windows에서 Avc.sys 다시 로드할 필요 없이 디바이스가 하위 단위를 추가하거나 제거할 수 있습니다. 예를 들어 이 기능은 DV 캠코더가 카메라 모드와 VTR 모드 간에 전환될 때 적용됩니다. 따라서 하위 단위 드라이버는 해당 활성 하위 단위가 추가되고 제거될 때만 로드되고 언로드됩니다.

Avc.sys 동일한 SubunitType의 여러 하위 단위를 구분할 수 없으므로 이러한 하위 단위를 추가 및 제거하면 해당 하위 단위 드라이버를 가장 높은 SubunitID로 로드하고 언로드합니다.

각 하위 단위의 디바이스 개체에는 하나 또는 두 개의 하드웨어 식별자와 여러 호환되는 식별자가 있습니다. 공급업체는 하위 단위 드라이버에 대한 INF 파일에서 아래에 설명된 이러한 하드웨어 또는 호환 식별자 중 하나 이상을 제공해야 합니다. Windows는 이러한 디바이스 식별자를 사용하여 디바이스가 컴퓨터에 처음 연결되면 각 하위 단위에 로드할 적합한 드라이버를 찾습니다. AV/C 디바이스에 대한 하드웨어 및 호환 디바이스 식별자의 예는 Microsoft에서 제공하는 61883.inf, Msdv.inf 및 Mstape.inf 파일을 검사할 수 있습니다. INF 파일 구현에 대한 자세한 내용은 INF 파일 섹션INF 파일 지시문을 참조하세요.

디바이스 식별자 문자열의 개별 요소는 다음과 같습니다.

공급업체

공급업체 이름 텍스트가 IEEE 1394 구성 ROM의 단위 기능 루트 디렉터리에 있는 경우 공급업체 이름 텍스트가 공급업체 필드에 사용됩니다. 예시:

AVC\Microsoft&Model&SubunitType&SubunitID

그렇지 않으면 공급업체의 고유 번호(IEEE 1394 무역 협회에서 할당됨)가 공급업체 필드에 사용됩니다. 다음 예제에서 "50F2"는 Microsoft의 1394TA 공급업체 번호입니다.

AVC\VEN_50F2&Model&SubunitType&SubunitID

공급업체 이름 텍스트가 없으면 IEEE 1394 구성 ROM의 루트 디렉터리에 있는 Module_Vendor_ID 항목에서 숫자 값을 가져옵니다. 이 즉시 항목에 대한 CSR(명령 및 상태 등록) 아키텍처 키는 0316(16진수)이며 다시 기본 24비트가 숫자 Module_Vendor_ID 항목입니다.

모델

모델 이름 텍스트가 IEEE 1394 구성 ROM의 단위 기능에 있으면 모델 이름 텍스트가 모델 필드에 사용됩니다. 예시:

AVC\Microsoft&DVCamcorder&SubunitType&SubunitID

그렇지 않으면 모델 번호가 모델 필드에 사용됩니다. 예시:

AVC\Microsoft&MOD_0&MOD_0&SubunitType&SubunitID

1394 구성 ROM 단위 디렉터리의 모델 텍스트가 사용되어 단위 디렉터리 항목보다 우선합니다. 기본 설정 순서는 다음과 같습니다.

1. 단위 디렉터리의 숫자 식별자입니다.

1. 루트 디렉터리의 모델 텍스트입니다.

1. 루트 디렉터리의 모델 식별자입니다.

SubunitType

사용 가능한 경우 SubunitType 필드는 하위 단위 주소에서 추출되고 각 바이트에 대한 16진수 값 문자열로 변환됩니다. 하위 단위 형식이 확장된 경우에만 여러 바이트가 있습니다. 일반적으로 초기 바이트는 AV/C 디지털 인터페이스 명령 집합 일반 사양 Rev 3.0의 섹션 5.3.3에 설명된 대로 주소 바이트의 가장 중요한 5비트에서 추출됩니다.

예: AVC\VEN_50F2&MOD_0&TYP_4&TYP_4&VEN_50F2

Avc.sys 지원하는 하위 단위 형식 및 해당 숫자 값의 목록은 AvcSubunitType을 참조하세요.

SubunitID

SubunitType 필드를 사용할 수 있는 경우 SubunitID 필드도 사용할 수 있습니다. Avc.sys AV/C 디바이스의 하위 단위 정보를 쿼리하면 디바이스는 각 형식에 대한 하위 단위 수로 응답합니다. 이 0부터 시작하는 개수는 각 하위 단위에 대한 디바이스 식별자를 만드는 데 사용됩니다. 하위 단위 주소 사양을 사용하면 SubunitID 필드를 확장할 수도 있지만 이 측면은 하위 단위 드라이버(및 INF 파일의 작성자)로부터 숨겨집니다. 0부터 시작하는 인스턴스 번호는 모든 경우에 사용됩니다. 예를 들어 SubunitID 필드가 270개의 하위 단위를 지원하도록 확장된 경우 270번째 하위 단위에는 10D(269 소수점)의 하위 단위 식별자가 있습니다. 예시:

AVC\Microsoft&MOD_0&TYP_4&ID_10D

SubunitType 또는 SubunitID를 제공하지 않는 AV/C 단위의 경우 디바이스 식별자 문자열은 후행 앰퍼샌드(&)가 없는 공급업체모델 필드로만 구성됩니다.