Windows Media Rights Manager SDK banner art

WMRMLicGen.IndividualizedVersion

The IndividualizedVersion property specifies the individualization version that a packaged file requires of the DRM component of the consumer's player. This value is initially retrieved from the WMRMHeader.IndividualizedVersion property, and is then put into the WMRMLicGen object to evaluate whether the player meets the individualization requirement.

Syntax

WMRMLicGen.IndividualizedVersion = bstrIndividualizationVersion

Parameters

bstrIndividualizationVersion

[in] String containing the individualization version.

Return Values

This property does not return a value. If the property fails, it returns a number in the error object.

Return code Description
0x80048003 Object initialization error.

Remarks

This property ensures that the DRM component of the player requesting the license meets the individualization requirement specified in the content header. If the DRM component does not meet the individualization requirement, license generation fails. Individualization is usually triggered before license acquisition, so the player will usually meet this requirement, but this method provides an additional level of security in case a license request is tampered with. It is recommended that you use this property if the content header specifies an individualization version. For the latest individualization version information, see the Microsoft Web site.

If the individualization version was not specified, the string will be empty, so you should check for an empty value and clear the error object.

Example Code

' The client (player) posts a challenge to the license issuer. The 
' challenge contains the packaged file's content header, actions requested
' by the client, and information about the client computer. To determine a
' client application's individualization version, perform the following 
' steps. 

' Declare variables and objects.
    Dim sHeader, lResult, sLicRequest, indiVersion 
    Dim HeaderObj, ChallengeObj, LicGenObj 

' Create objects.
    Set HeaderObj = Server.CreateObject("Wmrmobjs.WMRMHeader")
    Set ChallengeObj = Server.CreateObject("Wmrmobjs.WMRMChallenge")
    Set LicGenObj = Server.CreateObject("Wmrmobjs.WMRMLicGen")

' Retrieve the license request from the client computer.
    sLicRequest = request.Form("challenge")

' Set the license request into the WMRMChallenge object.
    ChallengeObj.Challenge = sLicRequest

' Retrieve the header from the challenge.
    sHeader = ChallengeObj.Header

' Set the header into the WMRMHeader object.
    HeaderObj.Header = sHeader

' Verify the header with the public key created by the content
' packager.
    lResult = HeaderObj.Verify(sPubKey)
    if (lResult = 0) then
        ' The header is corrupt.
    end if

' Retrieve the individualization version of the client from the
' WMRMHeader object.
    indiVersion = HeaderObj.IndividualizedVersion

' Individualized version may not exist in the content header.
    err.clear 

' Set the individualization version into the WMRMLicGen object.
    LicGenObj.IndividualizedVersion = indiVersion

    if (err.number <> 0) then
        exit do
    end if 

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