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,
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
- 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.
To code the application
- Add calls to the LSRequest, LSRelease and LSFreeHandle functions in your application to grant and release license resources.
- Incorporate the code to prepare the challenge. For additional information
about the steps required to initiate the challenge, see The Application Challenge.
- 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.
- Include periodic calls to the LSUpdate function to verify that the current license is still valid.
- Choose and implement your license strategy. For examples, see License Strategies.
- 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
Software for Android Developers
- More information resources
Unix Manual Pages
- Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database