Enabling DRM Support

[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

You can use the Microsoft Windows Media Format Software Development Kit (SDK) to build applications that can apply digital rights management (DRM) protection and play live-DRM streams or DRM-protected files. Support is also provided for backing up and restoring a player's DRM licenses, and for individualizing players.

This documentation assumes that you have a basic familiarity with Microsoft's digital rights management technology. A basic overview of Windows Media DRM is provided in the Digital Rights Management Features section of this documentation.


DRM is not supported by the x64-based version of this SDK.


The following sections describe how to enable DRM support.

Section Description
Obtaining the Required DRM Library Describes the steps involved in obtaining the static library that is required to create DRM-enabled applications.
DRM Protection and Content License Distribution Compares the DRM capabilities of the Windows Media Format SDK with the Windows Media Rights Manager SDK.
DRM Network Operations Describes how your application should handle the DRM operations that communicate over the Internet, or other networks.
Creating Protected Files Describes how to create DRM-protected files.
Reading Protected Files Describes ways to acquire licenses for content and the benefits of implementing silent license acquisition.
Viewing Attributes of Protected Files Describes how to use the IWMDRMEditor interface on the metadata editor object to view attributes of protected files without having the required static library for DRM.
Working with Revocation Lists Describes revocation lists and how they are implemented.
Backing Up and Restoring Licenses Describes how users can manage their content licenses by backing up and restoring them to their current computer or to other computers.
Individualizing DRM Applications Describes how the individualization feature increases security in a DRM system.
Working with Output Protection Levels Describes how to support Output Protection Levels, which are used to record allowed actions in DRM version 10 licenses.
Using the Windows Media DRM 10 for Network Devices Protocol Describes how to support secure device streaming by using the Windows Media DRM 10 for Network Devices protocol.
Implementing License Revocation Describes the process of license revocation, and the actions your application must take to implement it.
Burning Playlists That Contain Secure Files Describes how to implement playlist burning in your application.


The SDK includes several sample applications that demonstrate how to read protected files; the fullest example is DRMShow. For more information, see Sample Applications.