IMFDRMNetHelper interface (wmcontainer.h)

Configures Windows Media Digital Rights Management (DRM) for Network Devices on a network sink.

The Advanced Systems Format (ASF) streaming media sink exposes this interface. To get a pointer to the IMFDRMNetHelper interface, perform the following tasks.

  1. Get the activation object for the ASF streaming media sink by calling MFCreateASFStreamingMediaSinkActivate.
  2. Create the media sink by calling the activation object ActivateObject method.
  3. Get an IMFDRMNetHelper pointer by calling QueryInterface on the media sink.
For more information, see Remarks.

Inheritance

The IMFDRMNetHelper interface inherits from the IUnknown interface. IMFDRMNetHelper also has these types of members:

Methods

The IMFDRMNetHelper interface has these methods.

 
IMFDRMNetHelper::GetChainedLicenseResponse

Not implemented in this release. (IMFDRMNetHelper.GetChainedLicenseResponse)
IMFDRMNetHelper::ProcessLicenseRequest

Gets the license response for the specified request.

Remarks

To stream protected content over a network, the ASF streaming media sink provides an output trust authority (OTA) that supports Windows Media DRM for Network Devices and implements the IMFDRMNetHelper interface. For this OTA, encryption occurs on each frame before multiplexing. The license request and response process takes place in the media sink.

The application gets a pointer to IMFDRMNetHelper and uses the methods to handle the license request and response. The application is also responsible for sending the license to the client.

To stream the content, the application does the following:

  1. Provide the HTTP byte stream to which the media sink writes the streamed content. To stream DRM-protected content over a network from a server to a client, an application must use the Microsoft Media Foundation Protected Media Path (PMP). The media sink and the application-provided HTTP byte stream exist in mfpmp.exe. Therefore, the byte stream must expose the IMFActivate interface so that it can be created out-of-process.
    Note  This might affect how the code is packaged. The DLL that contains the HTTP byte stream and other dependent DLLs must be signed for the Protected Environment (PE-signed).
     
  2. Set the MFPKEY_ASFMEDIASINK_DRMACTION property to MFSINK_WMDRMACTION_TRANSCRYPT. The media sink's property store is available to the application through the ASF ContentInfo. To get the property store, call IMFASFContentInfo::GetEncodingConfigurationPropertyStore.
  3. Get a pointer to the IMFDRMNetHelper interface by querying the media sink.
  4. To make a license request, call IMFDRMNetHelper::ProcessLicenseRequest. This method calls into the OTA implementation and retrieves the license.When the clock starts for the first time or restarts , the encrypter that is used for encrypting samples is retrieved, and the license response is cached.
  5. To get the cached license response, call IMFDRMNetHelper::GetChainedLicenseResponse.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header wmcontainer.h

See also

Media Foundation Interfaces