Partager via


DRM_LICENSE_STATE_DATA structure (Drmexternals.h)

La structure DRM_LICENSE_STATE_DATA contient des informations de licence sur un droit DRM spécifié.

Syntaxe

typedef struct DRM_LICENSE_STATE_DATA {
  DWORD                      dwStreamId;
  DRM_LICENSE_STATE_CATEGORY dwCategory;
  DWORD                      dwNumCounts;
  DWORD                      dwCount[4];
  DWORD                      dwNumDates;
  FILETIME                   datetime[4];
  DWORD                      dwVague;
} ;

Membres

dwStreamId

Numéro de flux auquel la licence s’applique. Doit être 0, ce qui indique que la licence s’applique à tous les flux du fichier.

dwCategory

Catégorie de chaîne à afficher. Consultez DRM_LICENSE_STATE_CATEGORY pour connaître les valeurs possibles et leur signification.

dwNumCounts

Nombre d’éléments fournis dans dwCount. Cette valeur est généralement 0 ou 1.

dwCount[4]

Tableau de 0 ou 1 ou plusieurs DWORDqui représentent le nombre de fois où l’action spécifiée dans dwCategory peut être effectuée. Consultez la section Remarques.

dwNumDates

Nombre d’éléments fournis en datetime. En règle générale, pas plus de deux dates sont utilisées, par exemple, avec une licence valide d’une date à une autre.

datetime[4]

Tableau d’une ou plusieurs structures FILETIME représentant une ou plusieurs dates dans la licence. La signification d’une date particulière dépend de la valeur de dwCategory.

dwVague

Zéro ou plusieurs des indicateurs suivants associés à un OR au niveau du bit :

Indicateur Description
DRM_LICENSE_STATE_DATA_VAGUE S’il est défini, d’autres licences peuvent s’appliquer au contenu.
DRM_LICENSE_STATE_DATA_OPL_PRESENT Si elle est définie, la licence inclut des niveaux de protection de sortie (OPL) qui doivent être récupérés et vérifiés par rapport à la destination de la sortie de votre application.
DRM_LICENSE_STATE_DATA_SAP_PRESENT S’il est défini, le contenu doit être remis à l’aide du chemin d’accès audio sécurisé (SAP).

Notes

Cette structure est retournée (encapsulée dans une structure WM_LICENSE_STATE_DATA ) à partir d’un appel à IWMDRMReader::GetDRMProperty lorsque vous spécifiez l’une des propriétés d’état de la licence DRM. Ces propriétés sont :

Si dwCategory est WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL, le tableau datetime contient généralement deux dates, une date « from » et une date « until ». Deux paires de dates peuvent également être spécifiées pour créer des licences plus complexes.

Les éléments du tableau dwCount correspondent aux dates ou plages de dates spécifiées dans le tableau datetime . Si dwCategory est WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL et que datetime contient une paire de dates, dwCount contient un élément. Si datetime contient deux paires de dates (quatre éléments), dwCount doit contenir deux éléments, un pour chaque paire de dates.

Dans certains cas, les utilisateurs peuvent avoir reçu plusieurs licences pour un fichier. Par exemple, ils ont peut-être acquis une licence autorisant cinq parties jusqu’à la fin du mois, puis une deuxième licence pour des droits illimités. Dans ce cas, l’indicateur de DRM_LICENSE_STATE_DATA_VAGUE est défini dans dwVague (dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0) et le composant DRM utilise un algorithme pour déterminer l’ensemble le plus probable de droits qui ont été appliqués. Lorsqu’une licence expire, le composant DRM examine la ou les licences restantes, et ainsi de suite jusqu’à ce que toutes les licences aient expiré.

Spécifications

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

Structures