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 :
- DRM_LicenseState_Playback
- DRM_LicenseState_CopyToCD
- DRM_LicenseState_CopyToSDMIDevice
- DRM_LicenseState_CopyToNonSDMIDevice
- DRM_LicenseState_CollaborativePlay
- DRM_LicenseState_Copy
- DRM_LicenseState_PlaylistBurn
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 |
|