Share via


Nonsilent License Acquisition

Nonsilent license acquisition is used when the application or the license server needs some input from the user, such as an e-mail address or a credit card number, before issuing the license.

Note   Nonsilent license acquisition is supported only in Rights Management Services client 1.0. Effective with RMS client 1.0 SP1, nonsilent license acquisition is no longer supported, and MSDRMCtrl.dll is not shipped.

Nonsilent license acquisition can also be used by the application to control the license acquisition experience, for example, loading a specialized media player for a music subscription service. In general, an application should attempt a nonsilent license acquisition if the silent license acquisition attempt fails.

  1. The application calls DRMAcquireLicense with the DRM_AL_NONSILENT flag.
  2. If the license includes a nonsilent license acquisition URL (LAURL), the client's callback function will receive a callback with msg = DRM_MSG_ACQUIRE_LICENSE and hr = S_DRM_REQUEST_PREPARED, and pvParam pointing to a DRM_LICENSE_ACQ_DATA object that contains a LAURL. If the license does not include this LAURL, the call will fail.
  3. The application then opens a Web browser and browses to the returned LAURL, which should reference a Web page hosting the ActiveX control contained in MSDRMCtrl.dll. (More information on this Web page is given later.)
  4. The Web page should acquire all the necessary information from the user, such as credit card numbers or other data. It also determines the user's ID and the ID and SKU of the content the user wants to acquire a license for, and passes them to the ActiveX control's AcquireLicense function. After this function is called, license acquisition proceeds the same way as in silent license acquisition; all return values are passed back to the application's callback function, and the license is deposited automatically in the user's license store.

The URL called by this function is specified by the wszReferralInfoURL parameter of DRMCreateIssuanceLicense. Here is the code in the license that specifies the URL.

<DISTRIBUTIONPOINT>
  <OBJECT type="Referral-Info">
    <ID type="MS-GUID">{81C42010-208A-4ABA-BAB6-C3C60F06DD5F}
    </ID>
    <NAME>Contoso Credit Card Splash Page
    </NAME>
    <ADDRESS type="URL">https://www.contoso.com/CreditCardOffers.htm
    </ADDRESS>
  </OBJECT>
</DISTRIBUTIONPOINT> 

You can also query for this URL, or obtain it using DRMGetIssuanceLicenseInfo with the DRM_DISTRIBUTION_POINT_REFERRAL_INFO flag in uFlags.

See Also

Building a Publishing Application
End-User License Acquisition
License Management
Querying Licenses
DRMAcquireLicense
DRMGetSignedIssuanceLicense
Nonsilent License Acquisition ActiveX Control

Send comments about this topic to Microsoft

Build date: 3/13/2008