VLSrequestExt

Syntax

LS_STATUS_CODE VLSrequestExt (unsigned char           *license_system,
                              unsigned char           *publisher_name,
                              unsigned char           *product_name,
                              unsigned char           *version,
                              unsigned long           *units_reqd,
                              unsigned char           *log_comment,
                              LS_CHALLENGE            *challenge,
                              LS_HANDLE               *lshandle,
                              VLSserverInfo           *serverInfo );	 
Argument Description
license_system

Unused.

>Use LS_ANY as the value of this variable.

> LS_ANY is specified to indicate a match against the installed license system.

publisher_name

>A string identifying the publisher of the product. Limited to 32 characters and cannot be NULL.

>Company name and trademark may be used.

product_name

>Name of the feature for which a license code is requested.

>May consist of any printable characters and cannot be NULL.

>Limited to 24 characters, including a NULL termination character.

version

>Version of the feature for which a license code is requested.

>May consist of any printable characters. Limited to 11 characters.

>Version can be NULL.

units_reqd

>The number of licenses required. The License Manager verifies that the number of units exist and may reserve those units. The number of available units is returned.

>If the number of licenses available with the License Manager is less than the requested number, the number of available licenses will be returned using units_reqd. If units_reqd is NULL, a value of 1 unit is assumed.

>From RMS v9.5 onwards, this attribute supports up to 4,294,967,294 units. This is applicable for license version 20 and above.

log_comment

>If vendor usage data attribute consists of multiple words, each will be anonymized individually, only if they are separated using a space. In general, avoid specifying the same entry (or word) twice in the vendor usage data attribute as the "uniquely" anonymized data will be repeated.

>The spaces in the vendor usage data attribute are replaced with underscores (_). Also, the keyword <an> itself is not anonymized and is replaced by an underscore (_) in the resulting usage log line record.

>To complete the vendor usage data attribute anonymization process, the system administrator must have also allowed anonymity of user information (either by setting the LS_LOG_ANONYMITY environment variable or using the -log-anonymity License Manager start-up option).

challenge(IN/OUT)

>The challenge structure. If challenge-response mechanism is not being used, this pointer must be NULL.

>The response to the challenge is provided in the same structure, provided a license was issued, i.e., provided the function VLSrequestExt2 returns LS_SUCCESS.

lshandle

>The handle for this request is returned in lshandle. This handle must be used to later update and release this license code.

>A client can have more than one handle active at a time.

>Space for lshandle must be allocated by the caller.

serverInfo(IN/OUT)

>This information is passed to the License Manager for use in License Manager hook functions.

>VLSinitServerInfo must be called to initialize serverinfo.

Description 

Use VLSrequestExt when using License Manager hooks. Before calling VLSrequestExt, you must call VLSinitServerInfo.

Returns

The status code LS_SUCCESS is returned if successful. Otherwise, it will return the following error codes:

Error Code Description

VLS_APP_UNNAMED

>featureName is NULL

>version is NULL

>Both feature name and version cannot be NULL at the same time.

VLS_CALLING_ERROR

>lshandle is NULL

>challenge argument is non-NULL

>Attempted to use standalone mode with network-only library, or network mode with standalone library.

>When max feature name length exceeds 64 characters.

>The log comment value has exceeded the maximum allowed buffer size. Up to 100 characters are allowed (excluding the null character). If you plan to have only a part of data as anonymized, then use the following formula to calculate the maximum allowed data: 100 bytes = 17x + y, where "x" is the number of words to be anonymized and "y" is the length of the unanonymized data. If you plan to have only anonymized characters in the usage log file, then after the anonymization tag <an>, up to 6 words separated by a space can be included.

>The log comment probably consists of the hash (#) sign in the beginning or end of the string. Also, it should not contain consecutive hash signs.

VLS_NO_LICENSE GIVEN

>unitsReqd is zero

>License request is denied due to server hook failure.

VLS_NO_SUCH_FEATURE

License Manager does not have license that matches requested feature, version and capacity.

LS_NOLICENSESAVAILABLE

All licenses in use.

LS_INSUFFICIENTUNITS

License Manager does not currently have sufficient licensing units for requested feature to grant license.

LS_LICENSE_EXPIRED

License has expired.

VLS_TRIAL_LIC_EXHAUSTED

Trial license expired or trial license usage exhausted.

VLS_USER_EXCLUDED

User or machine excluded from accessing requested feature.

VLS_CLK_TAMP_FOUND

License Manager has determined that the client’s system clock has been modified. The license for this feature has time-tampering protection enabled, so the license operation is denied.

VLS_VENDORIDMISMATCH

This error can occur under the following scenarios:

>The vendor of the requesting application does not match with the License vendor.

>The License addition failed due to mismatch among the vendor of the license and vendor of the isolated License Manager.

VLS_SERVER_SYNC_IN_ PROGRESS

License Manager synchronization in process.

VLS_FEATURE_INACTIVE

Feature is inactive on specified License Manager.

VLS_MAJORITY_RULE_ FAILURE

Majority rule failure prevents token from being issued.

VLS_NO_SERVER_RUNNING

License Manager on specified host is not available for processing license operation requests

VLS_NO_SERVER_RESPONSE

Communication with License Manager has timed out.

VLS_HOST_UNKNOWN

Invalid hostName was specified.

VLS_NO_SERVER_FILE

No License Manager has been set or the client application is unable to determine which License Manager to use.

VLS_BAD_SERVER_MESSAGE

Message from License Manager could not be understood.

LS_NO_NETWORK

Generic error indicating that the network is unavailable for servicing the license operation.

LS_NORESOURCES

An error occurred in attempting to allocate memory needed by function.

VLS_INTERNAL_ERROR

Failure occurred in setting timer. (Timer is only attempted to be set if timer is available for platform and if license requires timer for updates.)

For a complete list of the error codes, see Licensing Library Error and Result Codes