다음을 통해 공유


출력 보호 수준 작업

[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 작성기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

Windows Media Rights Manager 10 SDK를 사용하여 만든 라이선스는 OPL(출력 보호 수준)을 사용하여 작업 제한을 지정할 수 있습니다. OPL을 사용하면 라이선스 작성자가 특정 기술이 있는 디바이스에서만 일부 작업을 허용할 수 있습니다. OPL 사용의 이점은 이전 버전보다 라이선스 제한을 더 유연하게 만들 수 있다는 것입니다. 또한 향후 기술을 수용하기 위해 OPL을 확장할 수 있습니다. IWMDRMReader2 인터페이스의 메서드를 사용하여 애플리케이션에서 이러한 라이선스를 지원할 수 있습니다.

OPL을 지정하는 라이선스로 보호되는 파일을 읽으려면 원하는 작업에 대한 OPL을 검사 합니다. 애플리케이션에서 사용하는 출력 기술은 라이선스의 OPL에서 허용해야 합니다. 예를 들어 보호된 오디오에 대한 일부 라이선스에서는 보안 오디오 경로를 사용하여 재생해야 할 수 있습니다.

출력 보호 수준을 평가하도록 판독기 구성

판독기에서 로드된 파일에 대한 OPL을 검사 전에 IWMDRMReader2::SetEvaluateOutputLevelLicenses 메서드를 호출하여 fEvaluate 매개 변수에 대해 TRUE를 전달해야 합니다. 이 메서드를 호출하지 않으면 OPL이 필요한 라이선스가 애플리케이션에 표시되지 않습니다.

복사 출력 보호 수준 평가

복사 작업에 대한 출력 보호 수준을 얻으려면 IWMDRMReader2::GetCopyOutputLevels 메서드를 호출합니다. 호출에서 받은 데이터는 DRM_COPY_OPL 구조에 저장됩니다. 구조체에는 라이선스의 복사 작업에 대한 최소 출력 수준을 지정하는 기본 출력 보호 수준이 포함되어 있습니다. 그러나 DRM_COPY_OPL 구조에는 두 개의 기술 식별자 목록이 포함되어 있습니다. 하나는 기본 OPL보다 낮은 OPL에서 등급이 지정된 허용된 기술에 대해, 하나는 기본 OPL보다 높거나 높은 등급이지만 라이선스에 의해 제한되는 기술에 대한 것입니다. 애플리케이션에서 사용하는 기술이 라이선스에서 허용되는지 확인하려면 포함 및 제외를 검사 합니다.

재생 출력 보호 수준 평가

재생 작업에 대한 출력 보호 수준을 얻으려면 IWMDRMReader2::GetPlayOutputLevels 메서드를 호출합니다 . 호출에서 받은 데이터는 DRM_PLAY_OPL 구조에 저장됩니다. 구조체에는 다른 여러 구조체가 포함되어 있습니다. 재생 작업의 기본 출력 보호 수준은 다양한 형식으로 콘텐츠를 재생하는 데 필요한 최소 OPL을 정의하는 DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS 구조(DRM_PLAY_OPLminOPL 멤버)에 저장됩니다. 애플리케이션이 제공하는 출력 형식의 형식에 대해 멤버를 검사 합니다.

DRM_PLAY_OPL 구조는 필수 다운 샘플링 및 허용된 비디오 출력 보호 식별자의 두 가지 제한 사항을 정의합니다.

필수 다운 샘플링은 출력 기술 식별자 목록(DRM_PLAY_OPLoplIdDownsample 멤버)으로 정의되며, 사용되는 경우 콘텐츠가 먼저 더 낮은 비트 속도로 다운 샘플링된 경우에만 재생용 콘텐츠를 받을 수 있습니다.

허용되는 비디오 출력 보호 식별자는 각각에 대한 구성 정보가 있는 비디오 출력 기술 목록으로 정의됩니다.

여러 라이선스 처리

일부 파일에는 로컬 라이선스 저장소에 여러 라이선스가 연결되어 있을 수 있습니다. 읽고 있는 파일에 대한 OPL을 평가할 때 IWMDRMReader2::TryNextLicense 메서드를 호출하여 추가 라이선스를 검사 수 있습니다. 수행하려는 작업을 허용하는 라이선스를 찾을 때까지 또는 TryNextLicense가 더 이상 라이선스가 없음을 나타내는 DRM_S_FALSE 반환할 때까지 라이선스를 계속 시도해야 합니다.

경우에 따라 애플리케이션에서 지원할 수 없는 OPL이 필요한 연결된 라이선스가 파일에 있을 수 있습니다. 이러한 경우 OPL을 지정하지 않는 라이선스가 있을 수 있으므로 추가 라이선스를 검사 것이 중요합니다.

참고 DRM은 이 SDK의 x64 기반 버전에서 지원되지 않습니다.

DRM 지원 사용

IWMDRMReader2 인터페이스