Перейти к основному содержимому

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_OK0Запрос выполнен успешно
LLK_INVALID_PARAMETER1Параметр scopeJSON нулевой указатель
LLK_INVALID_LICENSE_FILE7При инициализации окружения обнаружилось, что целостность программного ключа была нарушена - это может быть из-за попытки ручного редактирования данного файла
LLK_LICENSE_FILE_NOT_FOUND8Поиск программного ключа по заданному пути завершилась неудачей
LLK_LICENSE_FILE_PATH_IS_EMPTY9Невалидный путь. Поле PathToSaveTheLicenseData *не может быть пустой строкой
LLK_SERIAL_NUMBER_MISMATCH11Если уже есть активация (программный ключ) по одному серийному номеру, попытка инициализировать окружение по другому серийному номеру вернет ошибку. Это защита от непреднамеренных перезаписей
LLK_NETWORK_ERROR14Отсутствует соединение с сетью Интернет
LLK_INVALID_SERIAL_NUMBER15Невалидный серийный номер. Поле SerialNumber *не может быть пустой строкой
LLK_ACTIVATION_HOST_IS_EMPTY16Невалидный адрес сервера активации лицензий. Поле HostName *не может быть пустой строкой
LLK_INVALID_VENDOR_CODE18Невалидный Код Вендора. Поле VendorID *не может быть пустой строкой
LLK_INVALID_FORMAT19Невалидный JSON формат. Параметр scopeJSON не может быть пустой строкой и/или содержать невалидные поля
LLK_INTERNAL_TRY_AGAIN701Внутренняя ошибка, требуется повторить запрос. Если, ошибка стабильно воспроизводится, пожалуйста, обратитесь в техподдержку
Заметка

Для успешной работы данной функции определенные параметры должны содержать валидные строковые значения

Примеры

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