다음을 통해 공유


KS 할당자

Allocator는 I/O 요청에 대한 프레임이라는 데이터 버퍼 인스턴스화하는 KS 개체입니다. 프레임은 연속 메모리의 청크이며, 크기는 KSPIN_DESCRIPTOR_EXAllocatorFraming 멤버를 통해 공급업체에서 지정합니다.

미니 드라이버는 비디오 카드 온보드 RAM을 instance 위해 여러 버퍼 유형에 대한 할당자를 지원할 수 있습니다. 그러나 대부분의 미니드라이버는 기본 할당자를 사용하여 시스템 메모리를 할당합니다. 미니 드라이버는 프레임 크기, 최대 프레임 수 및 맞춤 요구 사항을 지정할 수 있습니다. 기본 할당자는 요구 사항을 충족하고 삭제된 프레임을 다시 사용하여 성능을 최적화할 수 있습니다.

미니 드라이버는 KsCreateAllocator 루틴 또는 관련 함수를 호출하여 할당자를 만듭니다. 이 호출에서 미니 드라이버는 KSALLOCATOR_FRAMING 구조체에 대한 포인터를 전달합니다. 이 구조에는 요청된 할당자를 설명하는 매개 변수가 포함되어 있습니다.

스트림 클래스 모델에서 할당자를 만드는 미니 드라이버는 KSPROPERTY_CONNECTION_ALLOCATORFRAMING 속성을 지원합니다. 지정된 싱크 핸들의 관련 KSALLOCATOR_FRAMING 구조에 대한 포인터를 반환하는 읽기 전용 요청입니다.

할당자를 제공하는 미니드라이버도 KSPROPERTY_STREAM_ALLOCATOR 속성을 지원해야 합니다. 이 속성은 스트림 연결 지점에 현재 할당된 할당자의 핸들에 대한 읽기/쓰기 액세스를 제공합니다.

AVStream에서 실행되는 미니드라이버에는 자체 할당자를 구현하는 핀이 포함될 수 있습니다. KSPIN_DISPATCH 구조체KSALLOCATOR_DISPATCH 멤버를 설정하여 이 작업을 수행합니다. 이 핀에 할당자를 지정하지 않으려면 이 멤버에 대해 NULL 을 지정합니다.

또한 AVStream 미니드라이버에서는 KSALLOCATOR_FRAMING_EX 구조를 사용하여 할당자 요구 사항을 지정합니다. 그런 다음 클라이언트는 KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX 속성을 사용하여 핀에 대한 프레이밍 요구 사항을 검색합니다. 자세한 내용은 AVStream 할당자를 참조하세요.

이 섹션에는 다음과 같은 추가 정보가 포함되어 있습니다.

기본 할당자

특정 할당자 필터링

할당 체계