Función DrmAddContentHandlers (drmk.h)
La DrmAddContentHandlers
función proporciona al sistema una lista de funciones que controlan el contenido protegido.
Sintaxis
NTSTATUS DrmAddContentHandlers(
[in] ULONG ContentId,
[in] PVOID *paHandlers,
[in] ULONG NumHandlers
);
Parámetros
[in] ContentId
Especifica el identificador de contenido drm. Este parámetro identifica una secuencia de audio KS protegida.
[in] paHandlers
Puntero a una matriz de punteros de función. Cada elemento de matriz apunta a un controlador de contenido.
[in] NumHandlers
Especifica el número de punteros de función en la matriz paHandlers .
Valor devuelto
DrmAddContentHandlers
devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado.
Comentarios
Antes de permitir que el contenido protegido fluya a través de una ruta de acceso de datos, el sistema comprueba que la ruta de acceso de datos es segura. Para ello, el sistema autentica cada módulo en la ruta de acceso de datos a partir del final ascendente de la ruta de acceso de datos y se mueve hacia abajo. A medida que se autentica cada módulo, ese módulo proporciona información del sistema sobre el siguiente módulo en la ruta de acceso de datos para que también se pueda autenticar. Para autenticarse correctamente, el archivo binario de un módulo debe estar firmado como compatible con DRM.
Si dos módulos adyacentes se comunican entre sí mediante la función IoCallDriver o la interfaz COM del módulo de bajada, el módulo ascendente llama a la función DrmForwardContentToInterface o DrmForwardContentToDeviceObject , respectivamente, para proporcionar al sistema información sobre el módulo de bajada. Sin embargo, si los dos módulos usan cualquier otro tipo de interfaz para comunicarse, el módulo ascendente llama a la DrmAddContentHandlers
función en su lugar.
La matriz paHandlers contiene punteros de función a los puntos de entrada del módulo de bajada. DrmAddContentHandlers
autentica el módulo que implementa estas funciones. (Si los puntos de entrada se distribuyen entre varios módulos, la función autentica todos estos módulos). Las funciones definidas por el proveedor de esta matriz constituyen una interfaz que entiende tanto el módulo que llama a las funciones como al módulo que implementa las funciones. DrmAddContentHandlers
no llama directamente a ninguna de estas funciones.
El módulo ascendente puede pasar tanto el identificador de contenido como los derechos de contenido al módulo de bajada mediante una de las funciones de la matriz paHandlers para este fin. El módulo de bajada necesita el identificador de contenido para avisar al sistema de los módulos a los que envía el contenido protegido.
DrmAddContentHandlers realiza la misma función que PcAddContentHandlers e IDrmPort2::AddContentHandlers. Para obtener más información, consulte Funciones e interfaces drm.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | drmk.h (incluye Drmk.h) |
Library | Drmk.lib |
IRQL | PASSIVE_LEVEL |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de