- Install a network SL on a machine
- Call Login() on the client machine
- Disconnect the current session from ACC on the server
- Call HASP.GetSessionInfo on the client machine
- This returns “Status_OK” instead of “Session Broken”
This is because when using remote license managers, the session information is not shared between the license managers and hence the information does not gets updated on the client side (session maintained by run-time API’s) even after disconnecting from ACC. This session stays alive until HASP_Logout() is called. However, all the other licensing APIs like hasp_read/hasp_write/hasp_encrypt/hasp_decrypt etc will fail with BROKEN_SESSION error.
To handle such behavior we can use other Run-time API function to know the correct status. So in the user’s application if hasp_read/hasp_write/hasp_encrypt/hasp_decrypt API’s fail with error BROKEN_SESSION then user can call hasp_logout to also release the session handle.