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:

  • Create four secret values. You will need these secrets to initiate the basic challenge, and to verify the license system's response. For additional information, see The Application Challenge and The Application Verification.

  • Create a unique publisher name. This name can be up to 32 characters long. It should be a trademarked name and the same for all applications that your company develops.

  • Create a unique product name within the publisher domain. This name must be unique within the first 32 characters.

  • Create a unique version string within the product domain. The version string is used to differentiate multiple versions.

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.

pics/WIN3200000004.gif 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.

  • LSAPI.H, in your %INCLUDE% path

  • LSAPI32.LIB, in your %LIB% path

For Windows NT:

  • LSAPI32.DLL and MSLSP32.DLL in %WinDir%\System32

For Windows 95:

  • LSAPI32.DLL and MSLSP32.DLL in %WinDir%\System

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database