Freigeben über


Windows Media Rights Manager SDK banner art

Excluding Player Applications

License issuers can exclude specific player applications from playing their packaged Windows Media files . When generating a license , the license issuer specifies one or more players to exclude. These players do not have to be revoked (known by Microsoft to be damaged or corrupted) to exclude them, but they do have to be based on Windows Media Format 7.1 SDK or later. Also, the choice of players to exclude does not have to be the same for all licenses.

For example, PlayerABC is popular among Internet users, but is not very secure. A content owner wants their music to reach the largest audience, yet at the same time maintain security. Security is the first priority for a portion of the content owner's inventory, so the content owner has the license issuer exclude PlayerABC in the licenses for those files. The second priority for the content owner is a wide distribution of the rest of the packaged files, so PlayerABC is not excluded in obtaining those licenses.

If a consumer tries to use an excluded player, two situations can occur:

  • The consumer does not yet have a license, and the license acquisition URL is opened. The license issuer detects that the consumer is using a player that is excluded for that particular packaged file. The license issuer displays a page informing the consumer that their player cannot play the file, and provides a link to a page where the consumer can download a player that can play the file.
  • The consumer already has a license for the packaged file. Perhaps the license was issued when the consumer was using a different player, or the license issuer does not try to detect which player the consumer is using and issued a license anyway. The excluded player cannot play the file, so the license acquisition URL is opened (see the previous bulleted item).

You can implement application exclusion in different ways. For example, if you issue licenses in response to requests, you can find out first whether the request is coming from a player that has been excluded and whether the player even supports application exclusion, and then issue a license accordingly. If you predeliver licenses, you must specify in the license which players to exclude.

To find out whether the player application supports application exclusion, use the WMRMChallenge.CheckClientCapability property by using ApplicationExclusion as a parameter value, as shown in the following example:

bSupportAE = Challenge.CheckClientCapability("ApplicationExclusion")
if (bSupportAE = true) then
    ' The player supports exclusion.
endif

To detect whether a license request is from an excluded player, retrieve the SUBJECTID2 attribute from the WMRMChallenge.ClientAttribute property. For example, you can respond to a license request from an excluded player by displaying links for downloading different players.

sLicRequest = request.Form("challenge")

ChallengeObj.Challenge = sLicRequest
sAppID  = ChallengeObj.ClientAttribute("SUBJECTID2")
    if (sAppID = 123) then
        ' The player is excluded.
    end if

In the license, use the WMRMRights.ExcludeApplication method to specify the application ID for which players to exclude. For example, the following code shows how to exclude two players:

Set RightsObj = Server.CreateObject("WMRMobjs.WMRMRights")
RightsObj.ExcludeApplication(123)
RightsObj.ExcludeApplication(456)

See Also