다음을 통해 공유


DRM 드라이버 개발 및 디버깅

다음 검사 목록은 드라이버 작성기가 몇 가지 일반적인 문제를 방지하는 데 도움이 될 수 있습니다.

  • DRM으로 보호된 콘텐츠가 재생되는 동안 드라이버가 웨이브 아웃 캡처 및 S/PDIF 출력을 사용하지 않도록 설정하는 경우 드라이버는 DRM으로 보호된 콘텐츠 재생이 완료되고 DRM 버퍼가 제거된 후 다시 사용하도록 설정해야 합니다.

  • 디바이스가 하드웨어 혼합을 수행하는 경우 드라이버는 스트림이 혼합에 추가되거나 제거될 때 발생하는 복합 사용 권한의 변경 내용을 추적해야 합니다. 예를 들어 복사로 보호된 DRM 스트림이 하나 이상 혼합될 때마다 캡처를 음소거해야 합니다. 보호된 믹스가 재생되는 동안 캡처가 켜져 있으면 음소거 상태로 유지됩니다.

  • 필터 그래프 또는 스트림과 연결된 속성 설정을 변경한 후 드라이버는 스트림의 복사 보호 및 출력 사용 설정을 즉시 업데이트해야 할 수 있습니다. 드라이버는 보호된 콘텐츠가 캡처 버퍼 또는 디지털 출력에 복사되지 않도록 작업을 동기화해야 합니다. 예를 들어 캡처 멀티플렉서에 대한 입력 스트림이 변경되면 드라이버는 음소거를 켜고 끄는 데 필요한 시간 동안 보안 콘텐츠가 취약해지도록 허용해서는 안 됩니다.

DRMK 시스템 드라이버는 DRM으로 보호된 콘텐츠가 재생되는 동안 커널 디버거가 연결되지 않도록 합니다. 디버깅 방지 갑옷은 DRMK가 보호된 콘텐츠를 불투명하게 만드는 데 사용하는 몇 가지 조치 중 하나입니다. 그러나 드라이버를 테스트할 준비가 되면 다음 기술을 사용하여 DRM 규격 기능을 디버그할 수 있습니다.

이 기술을 사용하면 DRM으로 보호된 콘텐츠인 것처럼 보호되지 않는 콘텐츠를 재생할 수 있지만 디버거를 사용하지 않도록 설정할 수는 있습니다.

예를 들어 디버거를 사용하여 드라이버가 콘텐츠가 기록되지 않도록 할 수 있습니다. SndVol32 프로그램의 볼륨 및 음소거 설정을 변경하여 캡처 MUX를 통해 웨이브 아웃 스트림을 기록하도록 드라이버를 속여 보세요. 슬라이더는 영구적 설정에 대한 변경 내용을 반영해야 하지만 캡처 MUX는 "보호된" 콘텐츠 재생이 완료될 때까지 웨이브 아웃 스트림을 계속 음소거해야 합니다. 그런 다음에만 새 설정이 적용됩니다.