VLSupdateQueuedClientNew

Syntax

int VLSupdateQueuedClientNew (	 	 
LS_HANDLE	 	lshandle,
Time64_T	 	*absExpiryTime,
unsigned char	 	*unused1,
LS_CHALLENGE	 	*unused2 ); 	 	 
Argument Description
lshandle

The handle previously returned by VLSqueuedRequest. The status of the handle must be VLS_QUEUED_HANDLE or an error will occur.

absExpiryTime

Once the license is available with the License Manager, the next call to this API returns in this parameter, the absolute expiry time before which the client should get the license using VLSgetQueuedLicense. If any call to VLSupdateQueuedClientExt returns a non-negative value in this parameter, then the license has been granted and set aside for the client. There is no need to continue its periodic call to this function. The next step is to obtain the license by calling VLSgetQueuedLicense.

Possible values for absExpiryTime are:

>Zero = license is not available.

>Non-zero = license is available and will stop calling the API.

unsued1
unused2

Uses NULL as the value.

Description

The client calls this API, requesting the License Manager to put him in the queue. Once the client been put in the queue, it must call this API periodically to inquire its current status with the License Manager. Moreover, it also informs the License Manager that, it is alive and is seeking the license.

Notice, the clients need to make at least one queue update, within 5 minutes of the previous queue-update or the request to queue itself. This is imperative so as to make the License Manager aware of the active clients. If the License Manager does not receive an update request from a client within 5 minutes of the last queue-update, it will then assume the client to be inactive and remove the client from the queue.

The functionally provided by this API is similar to the existing API VLSupdateQueuedClient. However, It is introduced to support EPOC time beyond year 2038.

Returns

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

Error Code

Description

VLS_CALLING_ERROR

>absExpiryTime is NULL.

>Handle cannot be active.

>challenge argument is non-NULL, but cannot be understood.

LS_BADHANDLE

Invalid handle.

LS_LICENSETERMINATED

Cannot update license because license has already expired.

VLS_NO_SUCH_FEATURE

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

LS_NOLICENSESAVAILABLE

All licenses are in use.

LS_LICENSE_EXPIRED

License has expired.

VLS_TRIAL_LIC_EXHAUSTED

Trial license has expired.

VLS_USER_EXCLUDED

User or machine excluded from accessing requested feature.

VLS_FINGERPRINT_ MISMATCH

Client-locked locking criteria does not match.

VLS_APP_NODE_LOCKED

Feature is node locked, but update request was issued from an unauthorized machine.

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_INVALID_DOMAIN

The domain of the License Manager is different from that of the client.

VLS_NO_SERVER_RESPONSE

Communication with License Manager has timed out.

VLS_BAD_SERVER_ MESSAGE

Message returned by the 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 this function.

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