다음을 통해 공유


IWMDRMLicenseManagement::AcquireLicense 메서드

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

AcquireLicense 메서드는 지정된 URL에서 라이선스를 비동기적으로 획득합니다.

구문

HRESULT AcquireLicense(
  [in]  BSTR     bstrURL,
  [in]  BSTR     bstrHeaderData,
  [in]  BSTR     bstrActions,
  [in]  DWORD    dwFlags,
  [out] IUnknown **ppunkCancelationCookie
);

매개 변수

bstrURL [in]

라이선스를 획득할 라이선스 서버의 URL입니다. NULL을 전달하여 메서드가 콘텐츠 헤더의 URL을 구문 분석하도록 합니다.

bstrHeaderData [in]

라이선스 서버에 전달할 콘텐츠 헤더입니다. bstrURLNULL이면 메서드는 이 헤더의 URL을 구문 분석합니다. dwFlags가 WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT 설정된 경우 이 값을 전체 콘텐츠 헤더 대신 키 ID로 설정합니다.

bstrActions [in]

라이선스에서 사용 권한을 요청할 작업이 0개 이상 포함된 문자열입니다. 문자열의 형식은 다음과 같이 지정해야 합니다.

  • 각 작업은 ACTION 요소 내에서 정의되어야 합니다. 요소의 데이터는 작업 문자열입니다.

  • 모든 ACTION 요소는 ACTIONLIST 요소 내에 포함되어야 합니다.

    예를 들어 콘텐츠 재생 라이선스를 요청하는 문자열의 형식은 다음과 같습니다.

    <ACTIONLIST><ACTION></ACTION></ACTIONLIST>
    

dwFlags [in]

라이선스 취득 옵션 플래그입니다. 다음 표의 상수 중 하나로 설정합니다.

상수 설명
WMDRM_ACQUIRE_LICENSE_SILENT 라이선스는 클라이언트 애플리케이션의 확인 없이 인터넷을 통해 직접 발급됩니다.
WMDRM_ACQUIRE_LICENSE_NONSILENT DRM 하위 시스템은 라이선스 서버에 게시하기 위해 비동기적으로 반환되는 라이선스 요청을 만듭니다.
WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT DRM 버전 1 라이선스 챌린지가 생성된다는 점을 제외하고 WMDRM_ACQUIRE_LICENSE_NONSILENT 동일합니다.

ppunkCancelationCookie [out]

이 비동기 호출을 식별하는 개체의 IUnknown 인터페이스에 대한 포인터를 수신하는 포인터입니다. 이 인터페이스 포인터를 사용하여 IWMDRMEventGenerator::CancelAsyncOperation 메서드를 호출하여 비동기 호출을 취소할 수 있습니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 설명
S_OK
메서드가 성공했습니다.

설명

이 메서드는 비동기적으로 실행됩니다. 호출된 직후를 반환한 다음 처리가 완료되면 MEWMDRMLicenseAcquisitionCompleted 이벤트를 생성합니다. 비사일 라이선스 획득 작업의 경우 IMFMediaEvent::GetValue 를 호출하여 얻은 이벤트의 값은 IUnknown 포인터입니다. 검색된 IUnknown 인터페이스의 QueryInterface 메서드를 호출하여 IWMDRMNonSilentLicenseAquisition 인터페이스의 instance 가져올 수 있습니다.

Windows Media DRM 클라이언트 확장 API의 비동기 메서드를 사용하는 방법에 대한 자세한 내용은 Media Foundation 이벤트 모델 사용을 참조하세요.

요구 사항

요구 사항
헤더
Wmdrmsdk.h
라이브러리
Wmdrmsdk.lib

추가 정보

IWMDRMLicenseManagement 인터페이스

자동 라이선스 취득