What Is New

banner art

The current version of Windows Media Device Manager still provides a single API to the calling application. However, it branches device communication to new or old Windows Media Device Manager sections based on whether the device is a legacy Windows Media Device Manager device or a new Windows Media Device Manager 10 device, which is shown in the following diagram.

WMDM Version 1.2 Diagram

Key elements in this diagram include:

  1. A single API is still presented to applications to communicate with various devices.
  2. Windows Media Device Manager 10 and Windows Media Device Manager 9 Series layers exist side by side. Windows Media Device Manager 9 Series supports no new interfaces or device features of Windows Media Device Manager 10.
  3. Mass storage, Pocket PC, and legacy service providers still run in the client process; however, the new Media Transport Protocol (MTP) class driver now runs in a separate process under the Windows Driver Foundation – User Mode. This insulates the client application from issues at the driver level and will be the model for drivers in future versions of Windows.
  4. Proprietary service providers and kernel mode drivers can still be developed to support any device-specific communication protocol. This is supported only under the legacy Windows Media Device Manager 9 Series stack and can support only Windows Media Player 9 Series device features.
  5. Mass storage, Pocket PC, and MTP are delivered as class service providers. Devices designed with compatible firmware should install without additional software.
  6. Mass storage, PocketPC, and MTP benefit from clear interfaces to Windows Media Device Manager, with no secure authenticated channel (SAC) delays.
  7. Windows Media Device Manager still connects to secure content provider to process protected content prior to transferring it to a DRM-capable portable device (PD).

The following three varieties of Windows Media Device Manager 10 devices are supported:

  • Devices that support the new MTP class driver
  • Devices that support a modified Windows CE (Pocket PC) class driver
  • Mass storage devices that are exposed under the Mass Storage Class (MSC) driver

All other Windows Media Device Manager devices are loaded under the legacy Windows Media Device Manager 9 Series side of the stack and support none of the new Windows Media Device Manager 10 features. The experience with these devices under Windows Media Device Manager 10 is similar to the experience under Windows Media Player 9 Series.

The following tables list all new client-side interfaces that support the current version of Windows Media Device Manager. Most importantly, a sample application has been provided to illustrate the new device playlist API available in the current version of Windows Media Device Manager.

Application Interface

Interface Description
IWMDRMDeviceApp Allows applications to communicate with devices that support Windows Media DRM 10 for Portable Devices.
IWMDRMDeviceApp2 Extends IWMDRMDeviceApp by providing a method that enables the caller to specify the status to query for.

Device Manager Interfaces

Interface Description
IWMDMDevice3 Extends IWMDMDevice2 by providing the ability to query properties and capabilities of the device with regard to an object format.
IWMDMDeviceSession Provides efficient common state management for multiple operations.
IWMDMStorage4 Extends IWMDMStorage3 for supporting playlist objects and progress updates while retrieving DRM rights.
IWMDMStorageControl3 Extends IWMDMStorageControl2 by making it possible to support playlist objects. Note: this is an existing interface.

Service Provider Interfaces

Interface Description
IMDServiceProvider3 Extends IMDServiceProvider2 by providing a method for setting the device enumeration preferences.
IMDSPDevice3 Extends IMDSPDevice2 by providing the ability to query properties and capabilities of the device with regard to an object format.
IMDSPDirectTransfer Enables Windows Media Device Manager to delegate content transfer to the service provider. In this case, Windows Media Device Manager does not do any processing of the content before sending it to the service provider. The service provider gets full control of the source.
IMDSPObject2 Extends IMDSPObject by providing more efficient transmission of DRM-enabled data.
IMDSPStorage4 Extends IMDSPStorage3 for supporting playlist objects.
IWMDRMDevice Provides mechanisms for a service provider to retrieve DRM information and set and retrieve metering responses.
IWMDRMDevice2 Extends IWMDRMDevice by providing methods to get the license state and a partial synchronization list.

Secure Content Provider Interfaces

Interface Description
ISCPSecureAuthenticate2 Extends ISCPSecureAuthenticate by providing a way to get a session object.
ISCPSecureExchange3 Extends ISCPSecureExchange2 by providing a set of new methods for the device.
ISCPSecureQuery3 Extends ISCPSecureQuery2 by providing a set of new methods for retrieving the rights and making decisions on a clear channel.
ISCPSession Provides efficient common state management for multiple operations.

Application Callback Interfaces

Interface Description
IWMDMOperation3 Extends IWMDMOperation by providing more efficient transmission of DRM-enabled data.

Sample Applications

Sample Description
Sample Output of Device Capabilities for a Format Provides an example of formatted output of device capabilities for a format.
Example Code for Freeing a WMDM_FORMAT_CAPABILITY Structure Demonstrates how to free the contents of a WMDM_FORMAT_CAPABILITY structure after the information in it has been used.
WMDMApp Sample Application Illustrates the device playlist API available in the current version of Windows Media Device Manager.

See Also