Condividi tramite


Metodo IMFInputTrustAuthority::RequestAccess (mfidl.h)

Richiede l'autorizzazione per eseguire un'azione specificata nel flusso.

Sintassi

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

Parametri

[in] Action

Azione richiesta, specificata come membro dell'enumerazione MFPOLICYMANAGER_ACTION .

[out] ppContentEnablerActivate

Riceve il valore NULL o un puntatore all'interfaccia IMFActivate . L'interfaccia IMFActivate viene usata per creare un oggetto di abilitazione del contenuto. Il chiamante deve rilasciare l'interfaccia. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
L'utente dispone dell'autorizzazione per eseguire questa azione.
NS_E_DRM_NEEDS_INDIVIDUALIZATION
L'utente deve individualizzare l'applicazione.
NS_E_LICENSE_REQUIRED
L'utente deve ottenere una licenza.

Commenti

Questo metodo verifica se l'utente dispone dell'autorizzazione per eseguire un'azione specificata nel flusso. L'ITA esegue tutte le operazioni necessarie per verificare il diritto dell'utente di eseguire l'azione, ad esempio il controllo delle licenze.

Per verificare i diritti dell'utente, l'ITA potrebbe dover eseguire passaggi aggiuntivi che richiedono l'interazione con l'utente o il consenso dell'utente. Ad esempio, potrebbe essere necessario acquisire una nuova licenza o individualizzare un componente DRM. In tal caso, l'ITA crea un oggetto attivazione per un abilitatore di contenuto e restituisce l'interfaccia IMFActivate dell'oggetto attivazione nel parametro ppContentEnablerActivate . L'oggetto attivazione è responsabile della creazione di un abilitatore di contenuto che espone l'interfaccia IMFContentEnabler . L'abilitazione del contenuto viene usata come segue:

  1. La sessione multimediale restituisce il puntatore IMFActivate all'applicazione.
  2. L'applicazione chiama IMFActivate::ActivateObject per attivare l'abilitazione del contenuto.
  3. L'applicazione chiama i metodi IMFContentEnabler per eseguire qualsiasi azione necessaria, ad esempio l'individualizzazione o ottenere una licenza. L'oggetto content enabler deve incapsulare questa funzionalità tramite l'interfaccia IMFContentEnabler .
  4. La sessione multimediale chiama di nuovo RequestAccess .
Il valore restituito indica se l'utente dispone dell'autorizzazione per eseguire l'azione:
  • Se l'utente dispone già dell'autorizzazione per eseguire l'azione, il metodo restituisce S_OK e imposta *ppContentEnablerActivate su NULL.
  • Se l'utente non dispone dell'autorizzazione, il metodo restituisce un codice di errore e imposta *ppContentEnablerActivate su NULL.
  • Se l'ITA deve eseguire passaggi aggiuntivi che richiedono l'interazione con l'utente, il metodo restituisce un codice di errore e restituisce il puntatore IMFActivate del content enabler in ppContentEnablerActivate.
La sessione multimediale non consentirà l'azione a meno che questo metodo non restituisca S_OK. Tuttavia, un valore restituito di S_OK non garantisce che l'azione venga eseguita, perché potrebbe verificarsi un altro errore dopo la chiamata di questo metodo. Quando l'azione sta per verificarsi, la sessione multimediale chiama IMFInputTrustAuthority::BindAccess.

Un flusso può passare a più output, quindi questo metodo può essere chiamato più volte con azioni diverse, una volta per ogni output.

Requisiti

   
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfidl.h
Libreria Mfuuid.lib

Vedi anche

IMFInputTrustAuthority