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

DrmForwardContentToDeviceObject

DrmForwardContentToInterface

IDrmPort2::AddContentHandlers

IoCallDriver

PcAddContentHandlers