Compartir a través de


Funciones e interfaces DRM

The system driver components Drmk.sys and Portcls.sys implement a collection of DRM functions and interfaces that drivers use for managing the digital rights of kernel-streaming audio content. The Drmk.sys component implements a number of DrmXxx functions, and Portcls.sys implements a DRM-specific set of PcXxx functions, and also the IDrmPort and IDrmPort2 interfaces.

Las siguientes funciones DRM están disponibles:

DrmAddContentHandlers

Proporciona al sistema una interfaz de controlador que consta de una lista de funciones para controlar el contenido protegido. DrmCreateContentMixed

Crea un identificador de contenido DRM para identificar una secuencia de audio KS que contiene contenido mixto de varias secuencias de entrada. DrmDestroyContent

Elimina un identificador de contenido DRM. DrmForwardContentToDeviceObject

Autentica un controlador y lo envía el identificador de contenido DRM y los derechos de contenido que el sistema ha asignado a una secuencia que contiene contenido protegido. DrmForwardContentToFileObject

Obsolete function. DrmForwardContentToInterface

Autentica un objeto de controlador y lo envía el identificador de contenido DRM y los derechos de contenido que el sistema ha asignado a una secuencia que contiene contenido protegido. DrmGetContentRights

Recupera los derechos de contenido DRM que el sistema ha asignado a un identificador de contenido DRM. Las funciones de esta lista se declaran en el archivo de encabezado Drmk.h. El controlador del sistema DRMK en modo kernel, Drmk.sys, exporta los puntos de entrada de estas funciones.

En Windows XP y versiones posteriores, el controlador del sistema PortCls, Portcls.sys, exporta un conjunto diferente de puntos de entrada para el mismo conjunto de funciones DRM. Los nombres de las funciones PortCls son similares a los de la lista anterior, excepto que usan el prefijo Pc en lugar de Drm:

PcAddContentHandlers

PcCreateContentMixed

PcDestroyContent

PcForwardContentToDeviceObject

PcForwardContentToFileObject

PcForwardContentToInterface

PcGetContentRights

Estos nombres de función se declaran en el archivo de encabezado Portcls.h. Los puntos de entrada de Portcls.sys no hacen nada más que llamar a las funciones correspondientes en Drmk.sys. Los puntos de entrada de PortCls se proporcionan simplemente por comodidad para que un controlador de audio que ya esté conectado a Portcls.sys no necesite cargar explícitamente Drmk.sys.

In Windows XP and later, the same set of functions is also exposed as methods in the IDrmPort and IDrmPort2 interfaces:

IDrmPort2::AddContentHandlers

IDrmPort::CreateContentMixed

IDrmPort::DestroyContent

IDrmPort2::ForwardContentToDeviceObject

IDrmPort::ForwardContentToFileObject

IDrmPort::ForwardContentToInterface

IDrmPort::GetContentRights

The IDrmPort and IDrmPort2 interfaces are declared in header file Portcls.h and are implemented in Portcls.sys. Estos métodos no hacen nada más que llamar a las funciones correspondientes en Drmk.sys. A miniport driver obtains a reference to a IDrmPortx interface by querying its port driver for this interface. The advantage to using a IDrmPortx interface instead of the corresponding DrmXxx or PcXxx functions is that the driver can use this query to determine at run time whether the operating system version supports DRM or not. Esto simplifica la tarea de escribir un único controlador que pueda ejecutarse en versiones más recientes de Windows que admiten DRM y en versiones anteriores que no lo hacen. IDrmPort2 is derived from IDrmPort and provides two additional methods.

The WaveCyclic and WavePci port drivers use the IDrmAudioStream interface if it is supported by the corresponding miniport driver. The port driver calls the IDrmAudioStream::SetContentId method to assign DRM protection to the digital content in an audio stream.

The DEFINE_DRMRIGHTS_DEFAULT macro, which is defined in header file Drmk.h, initializes the members of a DRMRIGHTS structure to their default values.