Partager via


WM_GET_LICENSE_DATA structure

[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 le lecteur source et l’enregistreurré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 structure WM_GET_LICENSE_DATA contient des informations sur l’emplacement d’acquisition d’une licenceDRM.

Syntaxe

typedef struct _WMGetLicenseData {
  DWORD   dwSize;
  HRESULT hr;
  WCHAR   *wszURL;
  WCHAR   *wszLocalFilename;
  BYTE    *pbPostData;
  DWORD   dwPostDataSize;
} WM_GET_LICENSE_DATA;

Membres

dwSize

DWORD contenant la taille de la structure WM_GET_LICENSE_DATA , en octets.

heure(s)

Code de retour HRESULT.

wszURL

Chaîne de caractères larges terminée par un caractère null contenant l’URL d’acquisition de licence. Utilisez cette chaîne et la chaîne pbPostData dans l’acquisition de licences non silencieuses.

wszLocalFilename

Chaîne de caractères larges terminée par un caractère null contenant une page HTML locale générée par le composant DRM. Lorsque cette chaîne est chargée dans un navigateur, elle redirige automatiquement la requête HTTP vers l’URL d’acquisition de licence, ainsi que les données de publication nécessaires. L’utilisation de cette URL locale est désormais déconseillée. L’approche recommandée consiste à utiliser les chaînes wszURL et pbPostData .

pbPostData

Pointeur vers un tableau d’octets contenant les données à publier dans l’URL d’acquisition de licence. Vous devez ajouter la chaîne suivante au début de la chaîne pbPostData : « nonsilent=1&challenge= ». La chaîne résultante doit ensuite être ajoutée à wszURL lorsque vous formez la requête HTTP.

dwPostDataSize

DWORD qui indique la taille de pbPostData sans la chaîne « nonsilent=1&challenge= » référencée dans pbPostData.

Notes

Cette structure renseignée est retournée dans le paramètre pValue de la méthode IWMStatusCallback::OnStatus si WMT_STATUS est égal à WMT_NO_RIGHTS_EX ou WMT_ACQUIRE_LICENSE. Pour les événements WMT_NO_RIGHTS_EX, le membre hr sera NS_E_LICENSE_REQUIRED, NS_E_LICENSE_OUTOFDATE ou NS_E_LICENSE_INCORRECT_RIGHTS. L’une de ces erreurs indique qu’une nouvelle licence doit être acquise en accédant à l’URL dans le membre wszURL .

Pour WMT_ACQUIRE_LICENSE événements, le membre hr transmet la macro SUCCEEDED si une licence a été acquise avec succès. Si cet événement est reçu après une tentative d’acquisition silencieuse et que hr est égal à NS_E_DRM_LICENSE_NOTACQUIRED, il indique que seule l’acquisition sans assistance est prise en charge par le serveur de licences pour cette licence.

L’exemple d’application Audioplayer montre comment utiliser correctement les informations retournées dans cette structure.

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
Version
Kit de développement logiciel (SDK) Windows Media Format 7 ou versions ultérieures du Kit de développement logiciel (SDK)
En-tête
Drmexternals.h

Voir aussi

IWMDRMReader::AcquireLicense

Structures