// drmk.h
typedef struct tagDRMRIGHTS {
BOOL CopyProtect;
ULONG Reserved;
BOOL DigitalOutputDisable;
} DRMRIGHTS, *PDRMRIGHTS;
View the official Windows Driver Kit DDI referenceNo description available.
The DRMRIGHTS structure specifies the DRM content rights assigned to a KS audio pin or to a port-class driver's stream object.
CopyProtectSpecifies one of the following copy-protection values:
Enables copy protection. An audio application must not do the following:
Disables copy protection. Content can be copied without restrictions.
For more information about CopyProtect, see the Remarks section.
ReservedReserved for future use. Initialize to zero.
DigitalOutputDisableSpecifies one of the following digital output protection values:
Disable digital outputs. A software component must not transfer the content out of the host system through any type of digital interface. Note that digital output protection does not affect USB devices because the host system includes USB devices.
Enables digital outputs. Content can be transferred from the host system to an external component without restrictions.
For more information about DigitalOutputDisable, see the Remarks section.
The Windows Certification Program places specific requirements on the way an audio driver handles the CopyProtect and DigitalOutputDisable values. These requirements are applicable when the CopyProtect and DigitalOutputDisable values are applied to an audio stream and to the output from which the audio stream is accessed. New requirements for Windows 7 include the correct way to program the serial copy management system (SCMS) for S/PDIF endpoints, and high-bandwidth digital content protection (HDCP) for HDMI endpoints.
The following table summarizes the content protection state that the driver must establish for different values of CopyProtect and DigitalOutputDisable.
| DRMRIGHTS Boolean members | Resulting content protection | ||
| DigitalOutputDisable | CopyProtect | HDMI and Display port | S/PDIF |
| False | False | Enabled with no HDCP | Enabled with no SCMS |
| False | True | Enabled with HDCP | Enabled with SCMS |
| True | Don't care | Enabled with HDCP | Disabled |
Note If the driver is unable to apply HDCP or SCMS correctly, the driver must disable output to the endpoint.
When an audio driver applies SCMS copy protection to a S/PDIF endpoint, the audio driver uses a combination of the L, Cp, and Category Code bits to select an SCMS state of "Copy Never." For more information about copy protection for digital content, see IEC 60958 available on the IEC website.
If the driver supports DRMRIGHTS and also implements a proprietary copy protection mechanism, the driver must aggregate the result of the proprietary implementation with the values of CopyProtect and DigitalOutputDisable to determine the final copy protection state. The final copy protection state must be the most restrictive of all outstanding copy protection requests.
The DEFINE_DRMRIGHTS_DEFAULT macro defines a constant DRMRIGHTS structure that specifies default DRM content rights.
VOID DEFINE_DRMRIGHTS_DEFAULT(
DRMRIGHTS DrmRights
);
Parameters
DrmRights
DRMRIGHTS
Specifies a name for a constant DRMRIGHTS structure. The macro sets the members of DrmRights to the following default values:
Return value
VOID
This macro does not return a value.