KsDeviceRegisterAdapterObject 함수(ks.h)

KsDeviceRegisterAdapterObject 함수는 지정된 디바이스에서 분산/수집 DMA를 수행하기 위해 AVStream에 DMA 어댑터 개체를 등록합니다. Win64용으로 컴파일된 모든 드라이버는 IKsDeviceFunctions::RegisterAdapterObjectEx 를 대신 사용해야 합니다.

구문

void KsDeviceRegisterAdapterObject(
  [in] PKSDEVICE       Device,
  [in] PADAPTER_OBJECT AdapterObject,
  [in] ULONG           MaxMappingsByteCount,
  [in] ULONG           MappingTableStride
);

매개 변수

[in] Device

어댑터 개체를 등록할 AVStream 디바이스를 나타내는 KSDEVICE 구조체에 대한 포인터입니다.

[in] AdapterObject

DMA 컨트롤러를 나타내는 IoGetDmaAdapter에서 반환된 DMA_ADAPTER 구조체에 대한 포인터입니다.

[in] MaxMappingsByteCount

이 매개 변수는 디바이스가 단일 매핑에 대해 처리할 수 있는 최대 바이트 수를 지정합니다. AVStream은 DMA 전송에서 개별 매핑에 크기 제한을 적용하는 디바이스에 대해 연속된 물리적 메모리의 큰 청크를 여러 분산/수집 요소로 자동으로 분할할 수 있습니다. 페이지 경계에서 나누기는 발생하지 않습니다.

[in] MappingTableStride

이 매개 변수는 매핑 테이블의 각 항목에 필요한 바이트 수를 지정합니다. 이는 최소한 sizeof (KSMAPPING)여야 하며 필요한 만큼 클 수 있습니다.

미니 드라이버에서 컨텍스트 정보로 추가 공간을 사용할 수 있습니다.

반환 값

없음

설명

KsDeviceRegisterAdapterObject 를 호출하는 미니 드라이버는 이전에 IoGetDmaAdapter를 통해 어댑터 개체를 획득하는 역할을 합니다.

또한 미니 드라이버가 디바이스의 필터에 있는 모든 핀에 대한 KSPIN_FLAG_GENERATE_MAPPINGS 플래그를 지정하는 경우 미니 드라이버는 데이터를 처리하기 전에 KsDeviceRegisterAdapterObject 를 호출해야 합니다. 이 플래그에 대한 자세한 내용은 KSPIN_DESCRIPTOR_EX 참조 페이지에서 찾을 수 있습니다. AVStream DMA 서비스도 참조하세요.

중요

사용자 성공에 필요한 필수 정보 MaxMappingByteCount 를 하나의 실제 페이지로 설정하면 매핑이 단일 실제 페이지에 상주하지 않습니다. 또한 위의 멤버 설명에 설명된 대로 MaxMappingsByteCount 를 설정해도 페이지 경계에서 중단이 발생한다는 보장은 없습니다. 페이지 경계에 중단이 필요한 경우 매핑 크기에 제한을 지정하지 않는 것이 좋습니다. 대신 반환된 분산/수집 매핑을 페이지 정렬 청크로 수동으로 분할합니다.

또한 64비트 AVStream 드라이버에서 DMA 지원도 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib
IRQL PASSIVE_LEVEL

참조

IoGetDmaAdapter

KSFILTER_DESCRIPTOR

KSMAPPING

KSPIN_DESCRIPTOR_EX