How to Incorporate the LSAPI in an Application

This section provides an example of how to incorporate the License Service Application Programming Interface (LSAPI) functions in your application, using the basic challenge protocol. For additional programming suggestions, see Anti-Tampering Guidelines.

Before you begin coding your application, you will need to choose four secrets and create values for the PublisherName, ProductName, and Version parameters in the LSRequest function, as follows:

You will also need to select the specific LSAPI-compliant license systems for which you want to issue licenses. You can expand the set of license systems you support on platforms that allow shared or dynamically linked libraries after the software product has shipped, provided the application does not require functionality specific to one license system.

When you code the application, use calls to the LSAPI function layer to register license usage and include code that implements the functionality of the basic challenge protocol.

    To code the application
  1. Add calls to the LSRequest, LSRelease and LSFreeHandle functions in your application to grant and release license resources.
  2. Incorporate the code to prepare the challenge. For additional information about the steps required to initiate the challenge, see The Application Challenge.
  3. Select and implement the method to verify the challenge response. For additional information about the steps required to verify the response, see The Application Verification, Algorithmic Method, and Table Lookup Method.
  4. Include periodic calls to the LSUpdate function to verify that the current license is still valid.
  5. Choose and implement your license strategy. For examples, see License Strategies.
  6. Incorporate code to handle errors. Use a call to the LSGetMessage function to return a message string that describes the error.

You will also need to locate the following files on your hard disk in the location specified by your environment variable during application development. Note that the dynamic-link libraries must also be installed on all computers on which your application runs, so you should include their installation in your application's setup procedure.

For Windows NT:

For Windows 95: