Windows Media Rights Manager SDK banner art

WMRMMetering.GetMeteringResponse

The GetMeteringResponse method generates a metering response for the client.

Syntax

String = WMRMMetering.GetMeteringResponse

Parameters

This method takes no parameters.

Return Values

If the method succeeds, it returns a String containing a metering response. If it fails, it returns a number in the error object.

Remarks

The metering response confirms that the metering data was successfully collected, and indicates to the client which items should be cleared and reset in the data store.

Example Code

'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Declare variables.
'""""""""""""""""""""""""""""""""""""""""""""""""""""" 
Dim MObj                    ' WMRMMetering object
Dim MDataObj                ' WMRMMeteringData object
Dim MContentCollObj         ' WMRMMeteringContentCollection object
Dim MContentObj             ' WMRMMeteringContent object
Dim MActionCollObj          ' WMRMMeteringActionCollection object
Dim MActionObj              ' WMRMMeteringAction object

Dim MeterChallenge          ' Metering challenge from the client
Dim MASPrivateKey           ' Private key of the metering aggregation service
Dim MeterCert               ' Metering certificate
Dim MeterXMLString          ' Metering data in XML format
Dim MeterID                 ' Metering ID
Dim TransID                 ' Transaction ID
Dim ContentCollLength       ' Number of items in the content collection
Dim ContentKeyID            ' Key ID for a content item
Dim ActionCollLength        ' Number of items in the action collection
Dim ActionName              ' Action name
Dim ActionValue             ' Action count
Dim MeterResponseString     ' Metering response string
Dim x, y                    ' Counters

'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Set variables.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
MeterChallenge = "<Replace with a metering challenge from the client>"
MeterCert = "<Replace with your metering certificate>"
MASPrivateKey = "<Replace with the private key for your service>"

'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Extract metering data an a WMRMMeteringData object and as an XML string.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
Set MObj = Server.CreateObject("WMRMObjs.WMRMMetering")
MObj.ServerPrivateKey = MASPrivateKey
MObj.Challenge = MeterChallenge
Set MDataObj = MObj.GetMeteringData
Set MeterXMLString = MObj.GetMeteringDataAsXml
MeterID = MDataObj.MeteringId
TransID = MDataObj.TransactionId

'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Retrieve the collection of content items.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
Set MContentCollObj = MDataObj.ContentCollection
ContentCollLength = MContentCollObj.length

'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Retrieve the key ID and action data for each content item.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
For x = 0 To (ContentCollLength - 1)
    Set MContentObj = MContentCollObj.item(x)
    ContentKeyID = MContentObj.KeyID

    '"""""""""""""""""""""""""""""""""""""""""""""""""""""
    ' Retrieve the collection of actions for the current content item.
    '"""""""""""""""""""""""""""""""""""""""""""""""""""""
    Set MActionCollObj = MContentObj.Actions
    ActionCollLength = MActionCollObj.length

    '"""""""""""""""""""""""""""""""""""""""""""""""""""""
    ' Retrieve each action and its value.
    '"""""""""""""""""""""""""""""""""""""""""""""""""""""
    For y = 0 To ActionCollLength - 1
        Set MActionObj = MActionCollObj.item(y)
        ActionName = MActionObj.Name
        ActionValue = MActionObj.Value
    Next
Next

'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Generate the metering response.
'""""""""""""""""""""""""""""""""""""""""""""""""""""" 
MObj.MeteringCertificate = MeterCert
MeterResponseString = MObj.GetMeteringResponse

Requirements

Version: Windows Media Rights Manager 10 SDK

Reference: wmrmobjs 1.0 Type Library

Library: wmrmobjs.dll

Platform: Windows Server 2003

See Also