DrmAddContentHandlers, fonction (drmk.h)
La fonction DrmAddContentHandlers
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 de retour
DrmAddContentHandlers
retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié.
Remarques
Avant d’autoriser le contenu protégé à circuler via 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 à partir de la fin en amont du chemin de données et se déplace en aval. À mesure que chaque module est authentifié, ce module fournit des informations système sur le module suivant dans le chemin de données afin qu’il puisse également être authentifié. Pour être authentifié avec succès, 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 en amont appelle le DrmForwardContentToInterface ou DrmForwardContentToDeviceObject fonction, respectivement, 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 en amont appelle la fonction DrmAddContentHandlers
à la place.
Les paHandlers tableau contiennent 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 par le module qui appelle les fonctions et le module qui implémente les fonctions.
DrmAddContentHandlers
n’appelle pas directement ces fonctions.
Le module en amont peut transmettre à la fois 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 conseiller le système de tous les modules auxquels il envoie le contenu protégé.
DrmAddContentHandlers effectue la même fonction que pcAddContentHandlers et IDrmPort2 ::AddContentHandlers. Pour plus d’informations, consultez fonctions et interfaces DRM.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | drmk.h (include Drmk.h) |
bibliothèque | Drmk.lib |
IRQL | PASSIVE_LEVEL |
Voir aussi
DrmForwardContentToDeviceObject