다음을 통해 공유


기본 클록

커널 스트리밍 미니 드라이버는 KsAllocateDefaultClockEx 를 호출하여 기본 클록 구조를 할당하고 초기화할 수 있습니다. 또는 KsAllocateDefaultClock을 호출할 수 있습니다. KsAllocateDefaultClockEx 의 래퍼이며 비clock 멤버에 대한 기본 매개 변수를 사용합니다. KsAllocateDefaultClockEx를 사용하여 기본 클록을 초기화한 후 KsCreateDefaultClock을 호출합니다.

기본 클록은 KSPROPSETID_Clock 지원하며 필터 핀에서 제공하는 다른 클록과 마찬가지로 액세스할 수 있습니다. 그러나 기본 데이터 구조는 필터 핀에 의해 생성되고 해당 핀 및 생성된 클록의 인스턴스에서 공유됩니다. 시계는 핀을 사용하여 공유 구조의 현재 상태 및 기타 요소를 업데이트합니다. 기본 클록은 알림 요청 및 클록 쿼리를 처리합니다.

이 클록을 제공하는 필터의 핀에 마스터 클록이 할당되면 핀은 이 클록을 소유합니다. 핀은 다른 클록 구현이 할당된 것처럼 클록 파일 개체를 참조해야 합니다. 기본 클록은 인스턴스를 만들 때 핀의 파일 개체를 참조하지 않습니다. 대신 일반 클록 구조의 초기 할당 및 클록에서 열린 각 파일 개체에 따라 내부 참조 수를 유지합니다. 클록의 소유자가 클록 구조를 해제하더라도, 모든 파일 개체가 닫힐 때까지 그 구조는 그대로 남아 있습니다. 핀은 표준 클록 인터페이스를 거치지 않고 기본 클록 개체에 직접 액세스할 수 있습니다.

미니 드라이버는 KSPROPERTY_CLOCK_FUNCTIONTABLE 속성을 지원하여 사용자 모드 클라이언트에 참조 클록 시간을 확인하는 메커니즘을 제공할 수 있습니다. 이 속성은 이를 가능하게 하는 함수 포인터를 사용하여 구조체를 채우며, 따라서 정확한 속도 일치를 지원합니다.

또한 지정된 핀에서 속도 변경을 허용하는 경우 미니 드라이버는 KSPROPERTY_STREAM_RATE 속성을 지원합니다.

IKsClockPropertySet 인터페이스에서 커널 스트리밍 프록시 인터페이스 호출 메서드를 사용하여 속도 일치를 위해 다른 곳에서 사용할 수 있는 실제 클록에서 시간을 가져와서 설정하는 애플리케이션입니다.

관련 정보는 품질 관리를 참조하세요.