Fonction DrmAddContentHandlers (drmk.h)
La DrmAddContentHandlers
fonction fournit au système une liste de fonctions qui gèrent le contenu protégé.
Syntaxe
NTSTATUS DrmAddContentHandlers(
[in] ULONG ContentId,
[in] PVOID *paHandlers,
[in] ULONG NumHandlers
);
Paramètres
[in] ContentId
Spécifie l’ID de contenu DRM. Ce paramètre identifie un flux audio KS protégé.
[in] paHandlers
Pointeur vers un tableau de pointeurs de fonction. Chaque élément de tableau pointe vers un gestionnaire de contenu.
[in] NumHandlers
Spécifie le nombre de pointeurs de fonction dans le tableau paHandlers .
Valeur retournée
DrmAddContentHandlers
retourne STATUS_SUCCESS si l’appel a réussi. Sinon, il retourne un code d’erreur approprié.
Remarques
Avant d’autoriser le flux de contenu protégé dans un chemin de données, le système vérifie que le chemin d’accès aux données est sécurisé. Pour ce faire, le système authentifie chaque module dans le chemin de données en commençant à l’amont fin du chemin de données et en se déplaçant en aval. Comme chaque module est authentifié, ce module fournit au système des informations sur le module suivant dans le chemin des données afin qu’il puisse également être authentifié. Pour être correctement authentifié, le fichier binaire d’un module doit être signé en tant que conforme DRM.
Si deux modules adjacents communiquent entre eux via la fonction IoCallDriver ou l’interface COM du module en aval, le module amont appelle respectivement la fonction DrmForwardContentToInterface ou DrmForwardContentToDeviceObject pour fournir au système des informations sur le module en aval. Toutefois, si les deux modules utilisent un autre type d’interface pour communiquer, le module amont appelle la fonction à la DrmAddContentHandlers
place.
Le tableau paHandlers contient des pointeurs de fonction vers des points d’entrée dans le module en aval. DrmAddContentHandlers
authentifie le module qui implémente ces fonctions. (Si les points d’entrée sont distribués entre plusieurs modules, la fonction authentifie tous ces modules.) Les fonctions définies par le fournisseur dans ce tableau constituent une interface comprise à la fois par le module qui appelle les fonctions et par le module qui implémente les fonctions. DrmAddContentHandlers
n’appelle pas directement l’une de ces fonctions.
Le module amont peut passer l’ID de contenu et les droits de contenu au module en aval à l’aide de l’une des fonctions du tableau paHandlers à cet effet. Le module en aval a besoin de l’ID de contenu pour informer le système de tous les modules auxquels il envoie le contenu protégé.
DrmAddContentHandlers exécute la même fonction que PcAddContentHandlers et IDrmPort2 ::AddContentHandlers. Pour plus d’informations, consultez Fonctions et interfaces DRM.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | drmk.h (inclure Drmk.h) |
Bibliothèque | Drmk.lib |
IRQL | PASSIVE_LEVEL |
Voir aussi
DrmForwardContentToDeviceObject