Windows Media Rights Manager SDK banner art

WMRMProtect.ProtectFile

The ProtectFile method encrypts the file specified by the InputFile property.

Syntax

WMRMProtect.ProtectFile(bstrFileName)

Parameters

bstrFileName

[in] String containing the path and name of the encrypted output file to be generated.

Return Values

If the method succeeds, it returns S_OK. If it fails, it returns a number in the error object.

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

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