Utilisation des niveaux de protection de sortie

[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.]

Les licences créées à l’aide du Kit de développement logiciel (SDK) Windows Media Rights Manager 10 peuvent spécifier des restrictions d’action à l’aide de niveaux de protection de sortie (OPL). Les opls permettent à un créateur de licence d’autoriser certaines actions uniquement sur des appareils dotés de technologies spécifiques. Les avantages de l’utilisation des BPO sont que vous bénéficiez d’une plus grande flexibilité dans la création de restrictions de licence que les versions précédentes. De plus, les FPO peuvent être étendues pour s’adapter aux technologies futures. Vous pouvez prendre en charge ces licences dans vos applications à l’aide des méthodes de l’interface IWMDRMReader2 .

Pour lire les fichiers protégés par une licence qui spécifie des opcl, vous devez case activée l’OPL pour l’action souhaitée. La technologie de sortie utilisée par votre application doit être autorisée par la licence OPL. Par exemple, certaines licences pour l’audio protégé peuvent nécessiter l’utilisation d’un chemin audio sécurisé pour le lire.

Configuration du lecteur pour évaluer les niveaux de protection de sortie

Avant de pouvoir case activée des fichiers chargés dans le lecteur, vous devez appeler la méthode IWMDRMReader2::SetEvaluateOutputLevelLicenses, en passant TRUE pour le paramètre fEvaluate. Si vous n’appelez pas cette méthode, les licences qui nécessitent des opcl ne sont pas visibles par votre application.

Évaluation des niveaux de protection de sortie de copie

Pour obtenir les niveaux de protection de sortie pour l’action de copie, appelez la méthode IWMDRMReader2::GetCopyOutputLevels . Les données que vous recevez de l’appel sont stockées dans une structure DRM_COPY_OPL . La structure contient un niveau de protection de sortie de base, qui spécifie le niveau de sortie minimal pour l’action de copie dans la licence. Toutefois, la structure de DRM_COPY_OPL contient également deux listes d’identificateurs de technologie : l’une pour les technologies autorisées qui sont évaluées à une BPO inférieure à la base, et l’autre pour les technologies qui sont évaluées comme égales ou supérieures à la BPO de base, mais qui sont limitées par la licence. Vous devez case activée les inclusions et les exclusions pour vous assurer que la technologie utilisée par votre application est autorisée par la licence.

Évaluation des niveaux de protection de sortie de lecture

Pour obtenir les niveaux de protection de sortie pour l’action de lecture, appelez la méthode IWMDRMReader2::GetPlayOutputLevels . Les données que vous recevez de l’appel sont stockées dans une structure DRM_PLAY_OPL . La structure contient plusieurs autres structures. Les niveaux de protection de sortie de base pour l’action de lecture sont stockés dans une structure de DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS (le membre minOPL de DRM_PLAY_OPL), qui définit la BPO minimale requise pour lire du contenu dans divers formats. Vous devez case activée le membre pour le type de formats de sortie que votre application fournit.

La structure DRM_PLAY_OPL définit deux types de restrictions : le down-sampling requis et les identificateurs de protection de sortie vidéo autorisés.

Le down-sampling requis est défini comme une liste d’identificateurs de technologie de sortie (le membre oplIdDownsample de DRM_PLAY_OPL) qui, s’il est utilisé, peut recevoir le contenu pour lecture uniquement si le contenu est d’abord échantillonné à un débit inférieur.

Les identificateurs de protection de sortie vidéo autorisés sont définis comme une liste de technologies de sortie vidéo avec des informations de configuration pour chacune d’elles.

Gestion de plusieurs licences

Plusieurs licences peuvent être associées à certains fichiers dans le magasin de licences local. Lorsque vous évaluez des listes de contrôle d’utilisation pour un fichier que vous lisez, vous pouvez case activée pour des licences supplémentaires en appelant la méthode IWMDRMReader2::TryNextLicense. Vous devez continuer à essayer des licences jusqu’à ce que vous en trouviez une qui autorise l’action que vous souhaitez effectuer ou jusqu’à ce que TryNextLicense retourne DRM_S_FALSE, ce qui indique qu’il n’y a plus de licences.

Dans certains cas, un fichier peut avoir une licence associée qui nécessite une opl que votre application ne peut pas prendre en charge. Dans ce cas, il est important de case activée pour des licences supplémentaires, car il peut exister une licence qui ne spécifie pas de licences opl.

Note La gestion des droits numériques n’est pas prise en charge par la version x64 de ce Kit de développement logiciel (SDK).

Activation de la prise en charge drm

IWMDRMReader2, interface