llkActivateLicense
Описание
В зависимости от условий, выполняет активацию лицензии, или инициализацию окружения
Активация
Самый первый вызов llkActivateLicense
, когда
система получает программный ключ и устанавливает по заданному пути - PathToSaveTheLicenseData
Инициализация окружения
Подразумевает, что уже есть активация (программный ключ) на устройстве.
И каждый последующий запуск ПО вызывая llkActivateLicense
приведет к считыванию уже установленного программного ключа,
чтобы инициализировать окружение по заданному пути - PathToSaveTheLicenseData
(доступ в сеть Интернет не требуется).
Синтаксис
llkActivateLicense
LLK_API LLKStatus llkActivateLicense(const char* scopeJSON);
Параметры
Параметр | Описание |
---|---|
scopeJSON | Параметры активации в формате JSON, подробнее ниже |
Пример scopeJSON
scopeJSON
{
"HostName": "licentrix.tech",
"PathToSaveTheLicenseData": "./data/license.l2c",
"SerialNumber": "989e79-140a9f1aw880-323b973g960d",
"VendorID": "15cva7cyd4q0-a1f8t5d056b5"
}
Поля | Описание |
---|---|
HostName | Адрес сервера активации лицензий. Значение по умолчанию - licentrix.tech, заменить только на резервный, и только в случае, кода основной сервер не отвечает |
PathToSaveTheLicenseData | Локальный путь для сохранения программного ключа лицензирования (license.l2c ) |
SerialNumber | Серийный номер, который отображается на странице Лицензии |
VendorID | Находится в верхней части страницы Лицензий (буквенно-числовой код) |
Возвращаемые значения
Значение | Код | Описание |
---|---|---|
LLK_OK | 0 | Запрос выполнен успешно |
LLK_INVALID_PARAMETER | 1 | Параметр scopeJSON нулевой указатель |
LLK_INVALID_LICENSE_FILE | 7 | При инициализации окружения обнаружилось, что целостность программного ключа была нарушена - это может быть из-за попытки ручного редактирования данного файла |
LLK_LICENSE_FILE_NOT_FOUND | 8 | Поиск программного ключа по заданному пути завершилась неудачей |
LLK_LICENSE_FILE_PATH_IS_EMPTY | 9 | Невалидный путь. Поле PathToSaveTheLicenseData *не может быть пустой строкой |
LLK_SERIAL_NUMBER_MISMATCH | 11 | Если уже есть активация (программный ключ) по одному серийному номеру, попытка инициализировать окружение по другому серийному номеру вернет ошибку. Это защита от непреднамеренных перезаписей |
LLK_NETWORK_ERROR | 14 | Отсутствует соединение с сетью Интернет |
LLK_INVALID_SERIAL_NUMBER | 15 | Невалидный серийный номер. Поле SerialNumber *не может быть пустой строкой |
LLK_ACTIVATION_HOST_IS_EMPTY | 16 | Невалидный адрес сервера активации лицензий. Поле HostName *не может быть пустой строкой |
LLK_INVALID_VENDOR_CODE | 18 | Невалидный Код Вендора. Поле VendorID *не может быть пустой строкой |
LLK_INVALID_FORMAT | 19 | Невалидный JSON формат. Параметр scopeJSON не может быть пустой строкой и/или содержать невалидные поля |
LLK_INTERNAL_TRY_AGAIN | 701 | Внутренняя ошибка, требуется повторить запрос. Если, ошибка стабильно воспроизводится, пожалуйста, обратитесь в техподдержку |
Для успешной работы данной функции определенные параметры должны содержать валидные строковые значения
Примеры
C++ пример
const nlohmann::json inputJSON =
{
{ "VendorID", vendorID },
{ "SerialNumber" , serialNumber },
{ "PathToSaveTheLicenseData" , pathToSaveTheLicenseData },
{ "HostName" , server },
};
const LLKStatus status = llkActivateLicense(inputJSON.dump().c_str());
std::cout << "ErrorCode: " << llkStatusDescription(status) << std::endl;
Пример успешного вывода
ErrorCode: The operation status is successful.
В примере пользуемся библиотекой nlohmann json, для формирования параметра активации в формате JSON
Если уже есть активация (программный ключ) по одному серийному номеру, попытка инициализировать окружение по другому серийному номеру вернет ошибку. Это защита от непреднамеренных перезаписей
Если все же необходимо на текущей ЭВМ активировать новую лицензию, ткущий программный ключ необходимо удалить. Или, указать отличный от исходного путь для сохранения нового программного ключа.
История версий
- Добавлено в
1.0.0