VLSupdateQueuedClient
Syntax
int VLSupdateQueuedClient (
LS_HANDLE lshandle,
Time_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 VLSupdateQueuedClient 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. |
unused1 |
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.
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.