다음을 통해 공유


IMFInputTrustAuthority::RequestAccess 메서드(mfidl.h)

스트림에서 지정된 작업을 수행할 수 있는 권한을 요청합니다.

구문

HRESULT RequestAccess(
  [in]  MFPOLICYMANAGER_ACTION Action,
  [out] IMFActivate            **ppContentEnablerActivate
);

매개 변수

[in] Action

MFPOLICYMANAGER_ACTION 열거형의 멤버로 지정된 요청된 작업입니다.

[out] ppContentEnablerActivate

값 NULL 또는 IMFActivate 인터페이스에 대한 포인터를 받습니다. IMFActivate 인터페이스는 콘텐츠 사용자 개체를 만드는 데 사용됩니다. 호출자는 인터페이스를 해제해야 합니다. 자세한 내용은 설명 부분을 참조하세요.

반환 값

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

반환 코드 설명
S_OK
사용자에게 이 작업을 수행할 수 있는 권한이 있습니다.
NS_E_DRM_NEEDS_INDIVIDUALIZATION
사용자는 애플리케이션을 개별화해야 합니다.
NS_E_LICENSE_REQUIRED
사용자는 라이선스를 받아야 합니다.

설명

이 메서드는 사용자가 스트림에서 지정된 작업을 수행할 수 있는 권한이 있는지 확인합니다. ITA는 라이선스 확인과 같이 사용자의 작업 수행 권한을 확인하는 데 필요한 모든 작업을 수행합니다.

사용자의 권한을 확인하려면 ITA가 사용자와의 상호 작용 또는 사용자의 동의가 필요한 추가 단계를 수행해야 할 수 있습니다. 예를 들어 새 라이선스를 획득하거나 DRM 구성 요소를 개별화해야 할 수 있습니다. 이 경우 ITA는 콘텐츠 인에이블러에 대한 활성화 개체를 만들고 ppContentEnablerActivate 매개 변수에 활성화 개체의 IMFActivate 인터페이스를 반환합니다. 활성화 개체는 IMFContentEnabler 인터페이스를 노출하는 콘텐츠 인에이블러를 만듭니다. 콘텐츠 인에이블러는 다음과 같이 사용됩니다.

  1. 미디어 세션은 애플리케이션에 대한 IMFActivate 포인터를 반환합니다.
  2. 애플리케이션은 IMFActivate::ActivateObject 를 호출하여 콘텐츠 인에이블러를 활성화합니다.
  3. 애플리케이션은 IMFContentEnabler 메서드를 호출하여 개별화 또는 라이선스 획득과 같은 필요한 모든 작업을 수행합니다. 콘텐츠 인에이블러 개체는 IMFContentEnabler 인터페이스를 통해 이 기능을 캡슐화해야 합니다.
  4. 미디어 세션에서 RequestAccess를 다시 호출합니다.
반환 값은 사용자에게 작업을 수행할 수 있는 권한이 있는지 여부를 신호로 표시합니다.
  • 사용자가 작업을 수행할 수 있는 권한이 이미 있는 경우 메서드는 S_OK 반환하고 *ppContentEnablerActivateNULL로 설정합니다.
  • 사용자에게 권한이 없는 경우 메서드는 실패 코드를 반환하고 *ppContentEnablerActivateNULL로 설정합니다.
  • ITA가 사용자와 상호 작용해야 하는 추가 단계를 수행해야 하는 경우 메서드는 실패 코드를 반환하고 ppContentEnablerActivate에서 콘텐츠 인에이블러의 IMFActivate 포인터를 반환합니다.
이 메서드가 S_OK 반환하지 않는 한 미디어 세션은 작업을 허용하지 않습니다. 그러나 S_OK 반환 값은 이 메서드가 호출된 후 다른 오류가 발생할 수 있으므로 작업이 수행된다는 것을 보장하지 않습니다. 작업이 확실히 시작되면 미디어 세션에서 IMFInputTrustAuthority::BindAccess를 호출합니다.

스트림은 여러 출력으로 이동될 수 있으므로 이 메서드는 각 출력에 대해 한 번씩 다른 작업을 사용하여 여러 번 호출될 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 mfidl.h
라이브러리 Mfuuid.lib

참고 항목

IMFInputTrustAuthority