共用方式為


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,並將 *ppContentEnablerActivate 設定為 Null
  • 如果使用者沒有許可權,此方法會傳回失敗碼,並將 *ppContentEnablerActivate 設定為 Null
  • 如果 ITA 必須執行需要與使用者互動的其他步驟,此方法會傳回失敗碼,並在ppContentEnablerActivate中傳回內容啟用器的IMFActivate指標。
除非此方法傳回S_OK,否則媒體會話不允許動作。 不過,S_OK的傳回值不保證會執行動作,因為呼叫此方法之後可能會發生一些其他失敗。 當動作確實即將發生時,媒體會話會呼叫 IMFInputTrustAuthority::BindAccess

資料流程可以移至多個輸出,因此此方法可能會以不同的動作多次呼叫,每個輸出一次。

需求

   
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfidl.h
程式庫 Mfuuid.lib

另請參閱

IMFInputTrustAuthority