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.
typedef struct _WMGetLicenseData {
DWORD dwSize;
HRESULT hr;
WCHAR *wszURL;
WCHAR *wszLocalFilename;
BYTE *pbPostData;
DWORD dwPostDataSize;
} WM_GET_LICENSE_DATA;
-
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.
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.
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 |
|