Función DrmForwardContentToInterface (drmk.h)
La DrmForwardContentToInterface
función acepta un puntero a la interfaz COM de un objeto al que el autor de la llamada pretende reenviar el contenido protegido. La función autentica el objeto y envía el objeto el identificador de contenido y los derechos DRM que el sistema ha asignado al contenido protegido.
Sintaxis
NTSTATUS DrmForwardContentToInterface(
[in] ULONG ContentId,
[in] PUNKNOWN pUnknown,
[in] ULONG NumMethods
);
Parámetros
[in] ContentId
Especifica el identificador de contenido drm. Este parámetro identifica una secuencia de audio KS protegida.
[in] pUnknown
Puntero a una interfaz COM que recibe directamente los datos de la secuencia de audio KS para un filtro de audio KS.
[in] NumMethods
Especifica el número total de métodos de la interfaz COM a los que apunta pUnknown , incluidos todos los métodos de sus interfaces base.
Valor devuelto
DrmForwardContentToInterface
devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, el método devuelve un código de error adecuado. En la tabla siguiente se muestran algunos de los posibles códigos de estado de retorno.
Código devuelto | Descripción |
---|---|
|
Indica que la secuencia de audio KS asociada a pUnknown no admite los derechos de contenido DRM asignados a ContentId. |
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 de la ruta de acceso de datos se comunican entre sí a través de la interfaz COM del módulo de bajada, el módulo ascendente llama a la DrmForwardContentToInterface
función para proporcionar al sistema un puntero a la interfaz COM. (Si los dos módulos se comunican a través de la función IoCallDriver o los controladores de contenido del módulo de bajada, el módulo ascendente llama a DrmForwardContentToDeviceObject o DrmAddContentHandlers en su lugar).
DrmForwardContentToInterface
autentica el módulo que implementa los métodos en la interfaz COM a la que apunta pUnknown. (Si los métodos se distribuyen entre varios módulos, la función autentica todos estos módulos). Tanto el módulo que llama a la interfaz como al módulo que implementa la interfaz deben comprender esta interfaz definida por el proveedor. DrmForwardContentToInterface
no hace suposiciones con respecto a esta interfaz distinta de que se deriva de IUnknown.
Si DrmForwardContentToInterface
se realiza correctamente la autenticación del controlador o la biblioteca, hace lo siguiente:
-
Consulta la interfaz pUnknown para su interfaz IDrmAudioStream . Tenga en cuenta que, aunque
DrmForwardContentToInterface
autentica todos los métodos de la interfaz pUnknown , no llama a ningún método de la interfaz pUnknown que no sea los métodos base IUnknown . -
Llama a IDrmAudioStream::SetContentId para establecer el identificador de contenido DRM y los derechos de contenido DRM en la secuencia de audio. Antes de devolverlo,
DrmForwardContentToInterface
libera la interfaz IDrmAudioStream .
DrmForwardContentToInterface
realiza la misma función que PcForwardContentToInterface e IDrmPort::ForwardContentToInterface. 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