Partager via


Méthode IMFInputTrustAuthority::RequestAccess (mfidl.h)

Demande l’autorisation d’effectuer une action spécifiée sur le flux.

Syntaxe

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

Paramètres

[in] Action

Action demandée, spécifiée en tant que membre de l’énumération MFPOLICYMANAGER_ACTION .

[out] ppContentEnablerActivate

Reçoit la valeur NULL ou un pointeur vers l’interface IMFActivate . L’interface IMFActivate est utilisée pour créer un objet d’activation de contenu. L’appelant doit libérer l’interface. Pour plus d'informations, consultez la section Notes.

Valeur retournée

Elle retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
L’utilisateur est autorisé à effectuer cette action.
NS_E_DRM_NEEDS_INDIVIDUALIZATION
L’utilisateur doit individualiser l’application.
NS_E_LICENSE_REQUIRED
L’utilisateur doit obtenir une licence.

Notes

Cette méthode vérifie si l’utilisateur est autorisé à effectuer une action spécifiée sur le flux. L’ITA effectue tout le travail nécessaire pour vérifier le droit de l’utilisateur à effectuer l’action, comme la vérification des licences.

Pour vérifier les droits de l’utilisateur, l’ITA peut avoir besoin d’effectuer des étapes supplémentaires qui nécessitent une interaction avec l’utilisateur ou le consentement de l’utilisateur. Par exemple, il peut être nécessaire d’acquérir une nouvelle licence ou d’individualiser un composant DRM. Dans ce cas, l’ITA crée un objet d’activation pour un activateur de contenu et retourne l’interface IMFActivate de l’objet d’activation dans le paramètre ppContentEnablerActivate . L’objet d’activation est chargé de créer un enabler de contenu qui expose l’interface IMFContentEnabler . L’enabler de contenu est utilisé comme suit :

  1. La session multimédia renvoie le pointeur IMFActivate vers l’application.
  2. L’application appelle IMFActivate::ActivateObject pour activer l’activateur de contenu.
  3. L’application appelle les méthodes IMFContentEnabler pour effectuer toutes les actions nécessaires, telles que l’individualisation ou l’obtention d’une licence. L’objet d’activation de contenu doit encapsuler cette fonctionnalité via l’interface IMFContentEnabler .
  4. La session multimédia appelle à nouveau RequestAccess .
La valeur de retour indique si l’utilisateur est autorisé à effectuer l’action :
  • Si l’utilisateur est déjà autorisé à effectuer l’action, la méthode retourne S_OK et définit *ppContentEnablerActivate sur NULL.
  • Si l’utilisateur n’a pas d’autorisation, la méthode retourne un code d’échec et définit *ppContentEnablerActivate sur NULL.
  • Si l’ITA doit effectuer des étapes supplémentaires qui nécessitent une interaction avec l’utilisateur, la méthode retourne un code d’échec et retourne le pointeur IMFActivate de l’activateur de contenu dans ppContentEnablerActivate.
La session multimédia n’autorise pas l’action, sauf si cette méthode retourne S_OK. Toutefois, une valeur de retour de S_OK ne garantit pas que l’action sera effectuée, car une autre défaillance peut se produire après l’appel de cette méthode. Lorsque l’action est sur le point de se produire, la session multimédia appelle IMFInputTrustAuthority::BindAccess.

Un flux peut accéder à plusieurs sorties. Cette méthode peut donc être appelée plusieurs fois avec différentes actions, une fois pour chaque sortie.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête mfidl.h
Bibliothèque Mfuuid.lib

Voir aussi

IMFInputTrustAuthority