Share via


Windows Media Rights Manager SDK banner art

WMRMHeader.IndividualizedVersion

The IndividualizedVersion property specifies and retrieves the minimum individualization version of the DRM component on the consumer's computer.

Syntax

WMRMHeader.IndividualizedVersion = String
String = WMRMHeader.IndividualizedVersion

Parameters

This property takes no parameters.

Return Values

If the property succeeds, it returns a String containing the individualization version number. The following table identifies the individualization version number implemented in the current Windows Media Rights Manager SDK.

Windows Media release Individualization version (a.b)
7.x 2.2
9 Series 2.2
10 (limited beta) 2.3
10 2.4

If the property fails, it returns a number in the error object.

Return code Description
0x80004005 An unspecified error occurred.
0x80070057 The specified parameter is not valid.

Remarks

The IndividualizedVersion property is optional. You can use it to provide an extra level of security for the encrypted content so that your Windows Media files can be played only on an application that has been individualized by specifying a minimum individualization version number. If a consumer tries to play a Windows Media file that requires individualization, and the consumer is using a player that has not been individualized, the player prompts the consumer to get a security upgrade before the content can be played. If the player's DRM component is later than or equal to the specified individualization version, a license is issued and the content is played.

Note   You should not specify version 2.3 because it was used in a limited beta release.

Requiring the current minimum individualization version will make content available to more media players than specifying a higher available version. For example, if the current version is 2.2 but you require version 2.4, only those consumers using a media player based on Windows Media Format 9.5 SDK or later (such as Windows Media Player 10) would be able to play your content without needing to upgrade their media player. If you require version 2.2 but you use DRM features available only in Windows Media Rights Manager 10 SDK, the player will automatically prompt the consumer to get a version 2.4 security upgrade.

For the latest individualization version information, see the Microsoft Web site https://licenseserver.windowsmedia.com/.

Example Code

' Declare variables and objects.

    Dim sKID, sCID, sSeed, sKey, sHeader
    Dim sPrivKey, sPubKey
    Dim HeaderObj
    Dim KeysObj
    Dim ProtectObj

' Create objects.

    Set HeaderObj = Server.CreateObject("Wmrmobjs.WMRMHeader")
    Set KeysObj = Server.CreateObject("Wmrmobjs.WMRMKeys")
    Set ProtectObj = Server.CreateObject("Wmrmobjs.WMRMProtect")

' Create the key ID and content ID, and key. Set the key ID and 
' the content ID into the header. Store the key in a secure manner.

    sKID = KeysObj.GenerateKeyID()
    sCID = KeysObj.GenerateKeyID()
    KeysObj.KeyID = sKID

    HeaderObj.KeyID = sKID
    HeaderObj.ContentID = sCID

'  Replace XXX with the license key seed.

    sSeed = "XXX"
    KeysObj.Seed = sSeed

' Generate the key.

    sKey = KeysObj.GenerateKey()

' Require individualization version 2.2.
' Version numbers change. Verify that this number is up to date.

    HeaderObj.IndividualizedVersion = "2.2"

' Specify the URL of the license issuer, and set it into
' the header.

    sURL = "https://www.LicenseIssuer.com/getlicense.asp"
    HeaderObj.LicenseAcqURL = sURL

' Set name-value pairs describing the content into the header.

    HeaderObj.Attribute("Author") = "name of the author"
    HeaderObj.Attribute("ContentDistributor") = "name of the distributor"
    HeaderObj.Attribute("ContentType") = "type of content distributed"
    HeaderObj.Attribute("Title") = "title of the content"

' Set the checksum.

    HeaderObj.SetCheckSum(sKey)

' Replace XXX with the packaging server's private key. 

    sPrivKey = "XXX"

' Sign the header.

    HeaderObj.Sign(sPrivKey)

' Retrieve the string containing the header.

    sHeader = HeaderObj.Header

' Set the header string into the WMRMProtect object.

    ProtectObj.Header = sHeader

' Set the key into the WMRMProtect object.

    ProtectObj.Key = sKey

' Specify the name of the file to be protected.

    ProtectObj.InputFile = "c:\input_file.wmv"

' Generate a protected file.

    ProtectObj.ProtectFile("c:\output_file_1.wmv")

Requirements

Version: Windows Media Rights Manager 7 SDK or later

Reference: wmrmobjs 1.0 Type Library

Library: wmrmobjs.dll

Platform: Windows Server 2003

See Also