WM_GET_LICENSE_DATA 구조체

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

WM_GET_LICENSE_DATA 구조에는 DRM라이선스를 획득할 위치에 대한 정보가 포함되어 있습니다.

구문

typedef struct _WMGetLicenseData {
  DWORD   dwSize;
  HRESULT hr;
  WCHAR   *wszURL;
  WCHAR   *wszLocalFilename;
  BYTE    *pbPostData;
  DWORD   dwPostDataSize;
} WM_GET_LICENSE_DATA;

멤버

dwSize

WM_GET_LICENSE_DATA 구조체의 크기(바이트)를 포함하는 DWORD입니다.

Hr

HRESULT 반환 코드입니다.

wszURL

라이선스 획득 URL을 포함하는 와이드 문자 null로 끝나는 문자열입니다. 이 문자열 및 pbPostData 문자열을 비사음 라이선스 획득에 사용합니다.

wszLocalFilename

DRM 구성 요소에서 생성된 로컬 HTML 페이지를 포함하는 와이드 문자 null로 끝나는 문자열입니다. 이 문자열이 브라우저에 로드되면 필요한 사후 데이터와 함께 HTTP 요청을 라이선스 획득 URL로 자동으로 리디렉션합니다. 이 로컬 URL의 사용은 이제 더 이상 사용되지 않습니다. wszURLpbPostData 문자열을 사용하는 것이 좋습니다.

pbPostData

라이선스 취득 URL에 게시할 데이터를 포함하는 바이트 배열에 대한 포인터입니다. pbPostData 문자열의 시작 부분에 다음 문자열을 추가해야 합니다. "nonsilent=1&challenge=". 그런 다음 HTTP 요청을 구성할 때 결과 문자열을 wszURL에 추가해야 합니다.

dwPostDataSize

pbPostData에서 참조되는 "nonsilent=1&challenge=" 문자열이 없는 pbPostData의 크기를 나타내는 DWORD입니다.

설명

이 채워진 구조체는 WMT_STATUS WMT_NO_RIGHTS_EX 또는 WMT_ACQUIRE_LICENSE 같은 경우 IWMStatusCallback::OnStatus 메서드의 pValue 매개 변수에 반환됩니다. WMT_NO_RIGHTS_EX 이벤트의 경우 hr 멤버는 NS_E_LICENSE_REQUIRED, NS_E_LICENSE_OUTOFDATE 또는 NS_E_LICENSE_INCORRECT_RIGHTS. 이러한 오류는 wszURL 멤버의 URL로 이동하여 새 라이선스를 획득해야 임을 나타냅니다.

WMT_ACQUIRE_LICENSE 이벤트의 경우 라이선스를 성공적으로 획득하면 hr 멤버가 SUCCEEDED 매크로를 전달합니다. 자동 획득 시도 후 이 이벤트가 수신되고 hr 이 NS_E_DRM_LICENSE_NOTACQUIRED 동일한 경우 이 라이선스에 대한 라이선스 서버에서 비사음 취득만 지원됨을 나타냅니다.

Audioplayer 샘플 애플리케이션은 이 구조에서 반환된 정보를 올바르게 사용하는 방법을 보여 줍니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
버전
Windows Media Format 7 SDK 이상 버전의 SDK
헤더
Drmexternals.h

참고 항목

IWMDRMReader::AcquireLicense

구조체