|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
LSUpdate
Notice:This is preliminary documentation for technology that will be supported in future releases of Microsoft Windows.
The LSUpdate function updates the synchronization between the licensed application software and the license system.
LS_STATUS_CODE LS_API_ENTRY LSUpdate(
LS_HANDLE LicenseHandle, // handle to the license context LS_ULONG TotUnitsConsumed, // units consumed in this handle context LS_ULONG TotUnitsReserved, // units required to run the application LS_STR *LogComment, // pointer to optional comment associated with the request LS_CHALLENGE *Challenge, // pointer to a challenge structure LS_ULONG *TotUnitsGranted // pointer to total number of units granted );
Parameters
LicenseHandle
[in] Specifies the handle to the license context. This parameter must be a handle created with the LSRequest function.
TotUnitsConsumed
[in] Specifies the total number of units consumed in this handle context since the initial call to the LSRequest function. You can specify this license policy attribute within the application. A value of LS_DEFAULT_UNITS indicates that the license system should determine the appropriate value using its own license policy mechanisms. If an error is returned, no units are consumed.
If the TotUnitsConsumed exceeds the number of units reserved, the error LS_INSUFFICIENT_UNITS is returned and the remaining units are consumed.
TotUnitsReserved
[in] Specifies the total number of units to be reserved. If no additional units are required since the initial call to the LSRequest function or the last call to the LSUpdate function, then this parameter should be the current total returned in the TotUnitsGranted parameter. The total reserved includes the units consumed. That is, if an application requests 100 units, and then consumes 20 units, there are still 100 units reserved but only 80 available for consumption.
If additional units are required, the application must calculate a new total for TotUnitsReserved. You can specify the constant LS_DEFAULT_UNITS, but this does not allocate any additional units. The license system verifies that the requested number of units exist, and it may reserve those units, but these units are not consumed at this time. This value may be smaller than the original number requested by LSRequest to indicate that fewer units are needed than originally anticipated.
LogComment
[in] Points to an optional string indicating a comment that the license system will associate with the request. The license system can log the comment if logging is supported and enabled. If an error is returned, the license system can log both the error and the comment, but this is not guaranteed. If you do not specify a string, the value must be LS_NULL.
Challenge
[in/out] Points to a challenge structure. The challenge response will also be returned in this structure.
TotUnitsGranted
[out] Points to an LS_ULONG value that returns the total number of units granted since the initial license request. The following table describes the TotUnitsGranted return value, given the TotUnitsReserved parameter input value, and the status code returned:
TotUnitsReserved Status code returned LS_DEFAULT_UNITS Other (specific count) LS_SUCCESS (A) (C) LS_INSUFFICIENT_UNITS (B) (D) Other errors (E) (E)
TotUnitsGranted return values:
(A) The default number of units commensurate with the license granted. (B) The maximum number of units available to the requesting software. This can be less than the normal default. (C) The number of units used to grant the request. This value can differ from the actual units requested. For example, the license policy may only allow only increments of five units; therefore, a request of seven units would result in a grant of 10 units. (D) The maximum number of units available to the requesting software. This can be more or less than the units requested.
(E) Zero is returned.
Return Values
If the function succeeds, the return value is LS_SUCCESS. If the function fails, the return value is a status code. For extended error information, call LSGetMessage to return the status text corresponding to the status code. The LSGetMessage function may return one of the following status codes:
Value Meaning LS_BAD_HANDLE The handle used on the call does not describe a valid licensing system context. LS_INSUFFICIENT_UNITS The licensing system cannot locate enough available licensing resources to complete the request. LS_LICENSE_TERMINATED The licensing system has determined that the resources used to satisfy a previous request are no longer granted to the calling software. LS_AUTHORIZATION_UNAVAILABLE The licensing system has no licensing resources to complete the request. LS_LICENSE_UNAVAILABLE The licensing system has licensing resources that could satisfy the request, but they are not available at the time of the request. LS_RESOURCES_UNAVAILABLE The request cannot be completed because of insufficient resources, such as memory. LS_NETWORK_UNAVAILABLE The network is unavailable. LS_LICENSE_EXPIRED The license associated with the current context has expired. This may be due to a time-restriction on the license. LS_BAD_ARG One or more of the arguments is incorrect.
Remarks
Your application should periodically call the LSUpdate function to verify that the current license is still valid. The application can use the LSQuery function to determine the proper time interval for the current licensing context. A guideline of once an hour may be appropriate, with a minimum interval of 15 minutes. Consult your license system vendor for more information. The LSUpdate function verifies that the license system context has not changed from the one expected by the licensed software. The LSUpdate function can determine if the licensing resources granted to the specified handle are still reserved for this application. In a distributed license system, an error might indicate a temporary network interruption. It can also determine if the license system has released the licensing resources granted to the specified handle. An error indicates the software no longer has authorization to execute in a typical manner.
The call to the LSUpdate function can also indicate that the current licensing context has expired. For example, in the case of a time-restricted license policy, it returns the warning status LS_LICENSE_EXPIRED. If the number of new units requested in the TotUnitsReserved parameter is greater than the number available, then the update request fails and it returns the error LS_INSUFFICIENT_UNITS. If the call completes successfully, the value returned in the TotUnitsGranted parameter indicates the current total of units granted.
If LSUpdate returns an error, it does not return a challenge response. Application software should be prepared to handle vendor-specific error conditions if they arise. If any error is returned, a call to the LSRelease function is still required.
See Also
LS_CHALLENGE, LSGetMessage, LSQuery, LSRelease, LSRequest
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
LSUpdate
Уведомление:Это - предварительная документация для технологии, которая будет поддержана в будущих версиях Microsoft Windows.
Функция LSUpdate корректирует синхронизации между лицензированным прикладным программным обеспечением и лицензионная система.
LS_STATUS_CODE LS_API_ENTRY LSUpdate(
LS_HANDLE LicenseHandle, // ручка в лицензионный контекст LS_ULONG TotUnitsConsumed, // устройства поглощенные в этом контексте ручки LS_ULONG TotUnitsReserved, // устройств требовавшихся, чтобы запускать приложение LS_STR *LogComment, // указатель в дополнительный комментарий связанный запросом LS_CHALLENGE *Вызов, // указатель в структуру вызова LS_ULONG *указатель TotUnitsGranted // в общее число устройств предоставлял );
Параметры
LicenseHandle
[in] Определяет ручку в лицензионный контекст. Этот параметр должен быть ручкой созданной функцией LSRequest.
TotUnitsConsumed
[in] Определяет общее число устройств поглощенных в этом контексте ручки с тех пор как начальный вызов в функцию LSRequest. Вы можете определить этот лицензионный атрибут полиса в пределах приложения. Величина LS_DEFAULT_UNITS указывает, что лицензионная система определит подходящую величину, использовавшую собственные лицензионные механизмы полиса. Если ошибка возвращана, никакие устройства не поглощены.
Если TotUnitsConsumed превышает количество устройств зарезервированных, ошибка LS_INSUFFICIENT_UNITS возвращана и остальные устройства поглощены.
TotUnitsReserved
[in] Определяет общее число устройств, которые нужно резервироваться. Если никакие дополнительные устройства не потребовались с тех пор как начальный вызов в функцию LSRequest или последний вызов в функцию LSUpdate, тогда этот параметр должен быть текущим итогом возвращанным в параметр TotUnitsGranted. Резервный итог включает поглощенные устройства. То есть, если приложение запрашивает 100 устройств, и тогда поглощает 20 устройств, есть все еще 100 устройств зарезервированных но только 80 доступных для потребления.
Если дополнительные устройства потребовались, приложение должно вычислить новый итог для TotUnitsReserved. Вы можете определить константу LS_DEFAULT_UNITS, но это не распределяет любые дополнительные устройства. Лицензионная система проверяет, что запрошенное количество устройств существует, и это может зарезервировать те устройства, но эти устройства не поглощены в на этот раз. Эта величина может быть меньшей чем оригинальное число запрошенное LSRequest, чтобы указывать, что меньшие устройства - нужно чем первоначально предполагался.
LogComment
[in] Указывает на дополнительную строку, указывающую комментарий, что лицензионная система соединится с запросом. Лицензионная система может зарегистрировать комментарий если регистрация поддерживана и приспособлена. Если ошибка возвращана, лицензионный система может зарегистрировать как ошибка так и комментарий, но это не гарантирован. Если Вы не определяете строку, величина должна быть LS_NULL.
Вызов
[в/] Точках на структуру вызова. Ответ вызова также будет возвращан в эту структуру.
TotUnitsGranted
[out] Указывает на величину LS_ULONG, что возвращает общее число устройств предоставлял с тех пор как начальный лицензионный запрос. Следующая таблица описывает обратную величину TotUnitsGranted, давшую входную величину параметра TotUnitsReserved, и код статуса возвращал:
TotUnitsReserved Код Статуса возвращал LS_DEFAULT_UNITS Другое (специфический счет) LS_SUCCESS (A) (C) LS_INSUFFICIENT_UNITS (B) (D) Другие ошибки (E) (E)
ВОЗВРАТ TotUnitsGranted оценивает:
(A) По умолчанию количество устройств соразмерное с правом передачи лицензии. (B) Максимальное количество устройств пригодных для запрашивающего программного обеспечения. Это может быть менее чем нормальный по умолчанию. (C) Количество устройств использованных, чтобы предоставлять запрос. Эта величина может отличиться от запрошенных фактических устройств. Например, лицензионный полис может только допустить только приращения пяти устройств; следовательно, запрос семи устройств должен заканчиваться даром 10 устройств. (D) Максимальное количество устройств пригодных для запрашивающего программного обеспечения. Это может быть более или менее чем устройства запрашивались.
Нуль (E) возвращан.
Обратные Величины
Если функция добивается успеха, обратная величина - LS_SUCCESS. Если функция терпит неудачу, обратная величина является кодом статуса. Для расширенной информации ошибки, вызов LSGetMessage, чтобы возвращать текст статуса, соответствуемый в код статуса. Функция LSGetMessage может возвращать один из следующих кодов статуса:
Значение Величины LS_BAD_HANDLE ручка использовалась на вызове не описывает правильный лицензионный системный контекст. LS_INSUFFICIENT_UNITS лицензионная система не может расположить достаточно доступного лицензирования ресурсов, чтобы завершать запрос. LS_LICENSE_TERMINATED лицензионная система определила, что ресурсы использованные, чтобы удовлетворять предшествующий запрос больше не предоставляют вызывающему программному обеспечению. LS_AUTHORIZATION_UNAVAILABLE лицензионная система не имеет лицензируя ресурсы, чтобы завершать запрос. LS_LICENSE_UNAVAILABLE лицензионная система имеет лицензируя ресурсы, которые могли бы удовлетворить запрос, но они не доступны на момент запроса. LS_RESOURCES_UNAVAILABLE запрос не может быть завершен из-за недостаточных ресурсов, как например, память. LS_NETWORK_UNAVAILABLE сеть отсутствует. LS_LICENSE_EXPIRED лицензия связанная текущим контекстом истекла. Это может явиться следствием времени-ограничения в лицензии. LS_BAD_ARG Один или более из аргументов неправильное.
Замечания
Ваше приложение должно периодически называть функцию LSUpdate, чтобы проверять, что текущая лицензия все еще правильная. Приложение может использовать функцию LSQuery, чтобы определять соответствующий интервал времени для течения, лицензировавшего контекст. Основное направление как только час может быть подходящим, с минимальным интервалом 15 минут. Обратитесь к вашему лицензионному системному поставщику более подробно. Функция LSUpdate проверяет, что лицензионный системный контекст не заменил с один ожиданное лицензированным программным обеспечением. Функция LSUpdate может определиться если лицензионные ресурсы предоставившие определенной ручке все еще зарезервированы для этого приложения. В распределенной лицензионной системе, ошибка могла указать временное сетевое прерывание. Это может также определиться если лицензионная система выпустила бы лицензионные ресурсы предоставившие определенной ручке. Ошибка указывает программное обеспечение больше не имеет разрешение, чтобы выполняться в типичном способе.
Вызов в функцию LSUpdate может также указать, что течение, лицензировавшее контекст истекло. Например, в случае полиса лицензии ограниченного времени, это возвращает предупреждающий статус LS_LICENSE_EXPIRED. Если количество новых устройств запрошенных в параметре TotUnitsReserved больше, чем число доступное, тогда запрос коррекции терпит неудачу и он возвращает ошибку LS_INSUFFICIENT_UNITS. Если вызов завершается успешно, величина возвращанная в параметр TotUnitsGranted указывает текущий итог предоставлянных устройств.
Если LSUpdate возвращает ошибку, это не возвращает ответ вызова. Прикладное программное обеспечение должно быть подготовлено, чтобы оперировать поставщик-специфические условия ошибки если они возникают. Если любая ошибка возвращана, вызов в функцию LSRelease все еще потребовался.
Смотри Также
LS_CHALLENGE, LSGetMessage, LSQuery, LSRelease, LSRequest
|
|
|
|
| |