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