Partager via


Méthode IWMDRMLicenseManagement::AcquireLicense

[La fonctionnalité associée à cette page, le Kit de développement logiciel (SDK) Windows Media Format 11, est une fonctionnalité héritée. Il a été remplacé par lecteur source et enregistreur récepteur. Le lecteur source et l’enregistreur récepteur ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise le lecteur source et l’enregistreur récepteur au lieu du Kit de développement logiciel (SDK) Windows Media Format 11, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La méthode AcquireLicense acquiert de manière asynchrone une licence à partir d’une URL spécifiée.

Syntaxe

HRESULT AcquireLicense(
  [in]  BSTR     bstrURL,
  [in]  BSTR     bstrHeaderData,
  [in]  BSTR     bstrActions,
  [in]  DWORD    dwFlags,
  [out] IUnknown **ppunkCancelationCookie
);

Paramètres

bstrURL [in]

URL du serveur de licences à partir duquel acquérir la licence. Passez la valeur NULL pour que la méthode analyse l’URL à partir de l’en-tête de contenu.

bstrHeaderData [in]

En-tête de contenu à passer au serveur de licences. Si bstrURL a la valeur NULL, la méthode analyse l’URL de cet en-tête. Si dwFlags a la valeur WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT, définissez cette valeur sur l’ID de clé au lieu de l’en-tête de contenu entier.

bstrActions [in]

Chaîne contenant zéro ou plusieurs actions pour lesquelles demander l’autorisation dans la licence. La chaîne doit être mise en forme comme suit :

  • Chaque action doit être définie dans un élément ACTION. Les données de l’élément sont la chaîne d’action.

  • Tous les éléments ACTION doivent être contenus dans un élément ACTIONLIST.

    Par exemple, la chaîne permettant de demander une licence pour lire du contenu est mise en forme comme suit :

    <ACTIONLIST><ACTION></ACTION></ACTIONLIST>
    

dwFlags [in]

Indicateurs d’option d’acquisition de licence. Définissez sur l’une des constantes du tableau suivant.

Constant Description
WMDRM_ACQUIRE_LICENSE_SILENT La licence sera émise directement sur Internet sans aucune confirmation de l’application cliente.
WMDRM_ACQUIRE_LICENSE_NONSILENT Le sous-système DRM crée une demande de licence qui sera renvoyée de manière asynchrone pour publication sur le serveur de licences.
WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT Identique à WMDRM_ACQUIRE_LICENSE_NONSILENT, sauf qu’un défi de licence DRM version 1 sera créé.

ppunkCancelationCookie [out]

Pointeur qui reçoit un pointeur vers l’interface IUnknown d’un objet qui identifie cet appel asynchrone. Ce pointeur d’interface peut être utilisé pour annuler l’appel asynchrone en appelant la méthode IWMDRMEventGenerator::CancelAsyncOperation .

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK

Notes

Cette méthode s’exécute de manière asynchrone. Il retourne immédiatement après avoir été appelé, puis génère un événement MEWMDRMLicenseAcquisitionCompleted une fois le traitement terminé. Pour les opérations d’acquisition de licence non silencieuses, la valeur de l’événement obtenu en appelant IMFMediaEvent::GetValue est un pointeur IUnknown . Vous pouvez appeler la méthode QueryInterface de l’interface IUnknown récupérée pour obtenir une instance de l’interface IWMDRMNonSilentLicenseAquisition.

Pour plus d’informations sur l’utilisation des méthodes asynchrones des API étendues du client Windows Media DRM, consultez Utilisation du modèle d’événement Media Foundation.

Configuration requise

Condition requise Valeur
En-tête
Wmdrmsdk.h
Bibliothèque
Wmdrmsdk.lib

Voir aussi

IWMDRMLicenseManagement Interface

Acquisition de licences en mode silencieux