다음을 통해 공유


비사일 라이선스 취득

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

비사일 라이선스 취득을 사용하면 라이선스 공급자가 라이선스 취득 프로세스의 중간 단계로 웹 페이지를 통해 최종 사용자와 상호 작용할 수 있습니다. 비사일 라이선스 취득은 보호된 콘텐츠에 액세스하려는 사용자에 대한 응답으로 시작됩니다.

비사일 라이선스 취득을 수행하려면 다음 단계를 사용합니다.

  1. IWMDRMLicenseManagement::AcquireLicense 메서드를 호출합니다. 보호된 파일의 DRM 헤더를 bstrHeaderData 매개 변수로 전달합니다. bstrActions 매개 변수에서 라이선스에 부여할 권한을 지정합니다. 마지막으로 dwFlags 매개 변수를 WMDRM_ACQUIRE_LICENSE_NONSILENT 설정합니다.
  2. IWMDRMLicenseManagement 인터페이스에 대한 이벤트를 트래핑합니다. MEWMDRMLicenseAcquisitionCompleted 이벤트가 수신되면 IMFMediaEvent::GetValue를 호출하여 관련 값을 가져옵니다. 값은 IUnknown 인터페이스에 대한 포인터인 VT_UNKNOWN 형식이어야 합니다.
  3. 2단계에서 검색된 IUnknown 인터페이스의 QueryInterface 메서드를 호출하여 IWMDRMNonSilentLicenseAquisition 인터페이스를 가져옵니다.
  4. IWMDRMNonSilentLicenseAquisition::GetChallenge를 호출하여 라이선스 챌린지를 검색합니다. 라이선스 서버의 URL이 아직 없는 경우 IWMDRMNonSilentLicenseAquisition::GetURL 을 호출합니다.
  5. URL로 지정된 웹 페이지에 챌린지를 보냅니다.

라이선스 획득

Media Foundation 이벤트 모델 사용