На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

LSRequest



Notice:This is preliminary documentation for technology that will be supported in future releases of Microsoft Windows.

The LSRequest function asks that the license system grant the licensing resources so the calling application can execute.

LS_STATUS_CODE LS_API_ENTRY LSRequest(

LS_STR *LicenseSystem, // pointer to string identifying the license system
LS_STR *PublisherName, // pointer to publisher of product requesting licensing resources
LS_STR *ProductName, // pointer to name of product requesting licensing resources
LS_STR *Version, // pointer to version number of product requesting licensing resources
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
LS_HANDLE *LicenseHandle // pointer to handle to the license context
);


Parameters

LicenseSystem

[in] Points to a string that uniquely identifies the particular license system. You can obtain this string by using the LSEnumProviders function. If the constant LS_ANY is specified, all license system providers will be searched for a license match.

PublisherName

[in] Points to a string containing the name of the publisher of the software product requesting licensing resources. The first 32 characters of the string must be unique. It is recommended that a company name and trademark be used. This string cannot be null, nor can it be LS_ANY.

ProductName

[in] Points to a string containing the name of the software product requesting licensing resources. The first 32 characters of the string must be unique within the PublisherName domain. This string cannot be null, nor can it be LS_ANY.

Version

[in] Points to a string containing the version number of the product. The first 12 characters of the string must be unique within the PublisherName domain. This string cannot be null, nor can it be LS_ANY.

TotUnitsReserved

[in] Specifies the number of units required to run the application. The software publisher may choose to specify this policy attribute within the application. The recommended value of LS_DEFAULT_UNITS allows the license system to determine the proper value using information provided by the license system or the license itself. The license system verifies that the requested number of units exist and it may reserve those units, but no units are actually consumed at this time. The number of units available is returned in the TotUnitsGranted parameter.

LogComment

[in] Points to an optional string indicating a comment that will be associated 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 in which the total number of units granted is returned. 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 be greater than or equal to the actual units requested. For example, the license policy may allow only allow 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.

LicenseHandle

[out] Points to an LS_HANDLE in which a handle to the license context 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_INSUFFICIENT_UNITS The licensing system cannot locate enough available licensing resources to complete the request.
LS_SYSTEM_UNAVAILABLE A licensing system cannot be found to perform the function invoked.
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_BAD_ARG One or more of the arguments is incorrect.


Remarks

Use the LSRequest function to request licensing resources to authorize the identified product to execute. If a valid license is found, the challenge response is computed and LS_SUCCESS is returned. At minimum, the PublisherName, ProductName, and Version strings are used to identify a matching license or licenses. Note that an underlying license system service provider may ascertain additional information for the license request ѕ for example, the current user name, computer name, and so forth.

If all service providers cannot satisfy a call to the LSRequest function, then LSRequest returns the handle associated with the last service provider response. Therefore, regardless of whether valid licensing resources are granted, LSRequest always returns a valid license handle. This handle must always be released with the LSFreeHandle function when the application has finished running. If licensing resources are granted, the application must also call LSRelease to free the licensing resources, before calling LSFreeHandle.

A challenge response is not returned unless the license request completes successfully ѕ that is, unless it returns a status code of LS_SUCCESS.
If the number of units requested is greater than the number of units available, the license request is not granted. Upon successful completion, the value returned in the TotUnitsReserved parameter indicates the number of units granted. This is greater than or equal to the number of units requested unless LS_DEFAULT_UNITS was specified. In the case of failure, the value returned in the TotUnitsGranted parameter is zero.

See Also

LS_CHALLENGE, LSEnumProviders, LSFreeHandle, LSGetMessage, LSRelease


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

LSRequest



Уведомление:Это - предварительная документация для технологии, которая будет поддержана в будущих версиях Microsoft Windows.

Функция LSRequest спрашивает, чтобы лицензионная система предоставляла лицензионные ресурсы, так что вызывающее приложение может выполниться.

LS_STATUS_CODE LS_API_ENTRY LSRequest(

LS_STR *LicenseSystem, // указатель, чтобы нанизывать опознавая лицензионную систему LS_STR *PublisherName, // указатель издателю продукта, запрашивающего лицензирование ресурсов LS_STR *ProductName, // указатель в имя продукта, запрашивающего лицензирование ресурсов LS_STR *Версия, // указатель в номер версии продукта, запрашивающего лицензирование ресурсов LS_ULONG TotUnitsReserved, // устройств требовавшиеся, чтобы запускать приложение LS_STR *LogComment, // указатель в дополнительный комментарий связывался запросом LS_CHALLENGE *Вызов, // указатель в структуру вызова LS_ULONG *TotUnitsGranted, // указатель в общее число устройств предоставлял LS_HANDLE *указатель LicenseHandle //, чтобы оперироваться в лицензионный контекст
);


Параметры

LicenseSystem

[in] Указывает на строку, которая однозначно идентифицирует конкретную лицензионную систему. Вы можете получить эту строку используя функцию LSEnumProviders. Если константа LS_ANY определена, все лицензируют системных поставщиков будет поискан лицензионное сопоставление.

PublisherName

[in] Указывает на строку, содержащую имя издателя программного запроса продукта, лицензировавшего ресурсы. Первые 32 типа строки должны быть уникальными. Рекомендовано, что имя компании и торговая марка использована. Эта строка не может быть недействительна, ни может ли это быть LS_ANY.

ProductName

[in] Указывает на строку, содержащую имя программного запроса продукта, лицензировавшего ресурсы. Первые 32 типа строки должны быть уникальными в пределах области PublisherName. Эта строка не может быть недействительна, ни может ли это быть LS_ANY.

Версия

[in] Указывает на строку, содержащую номер версии продукта. Первые 12 типов строки должны быть уникальными в пределах области PublisherName. Эта строка не может быть недействительна, ни может ли это быть LS_ANY.

TotUnitsReserved

[in] Определяет количество устройств требовавшихся, чтобы запускать приложение. Программный издатель может решить определять этот атрибут полиса в пределах приложения. Рекомендуемая величина LS_DEFAULT_UNITS позволяет лицензионную систему, чтобы определять точное значение, использовавшее информацию предусматривался лицензионной системой или сама лицензия. Лицензионная система проверяет, что запрошенное количество устройств существует и оно может зарезервировать те устройства, но никакие устройства действительно не поглощены в на этот раз. Количество устройств доступных возвращан в параметр TotUnitsGranted.

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) возвращан.

LicenseHandle

[out] Указывает на LS_HANDLE в котором ручка в лицензионный контекст возвращана.



Обратные Величины

Если функция добивается успеха, обратная величина - LS_SUCCESS.
Если функция терпит неудачу, обратная величина является кодом статуса. Для расширенной информации ошибки, вызов LSGetMessage, чтобы возвращать текст статуса, соответствуемый в код статуса. Функция LSGetMessage может возвращать один из следующих кодов статуса:

Значение Величины
LS_INSUFFICIENT_UNITS лицензионная система не может расположить достаточно доступного лицензирования ресурсов, чтобы завершать запрос.
LS_SYSTEM_UNAVAILABLE лицензионная система не может обнаруживать выполнять введенную функцию.
LS_AUTHORIZATION_UNAVAILABLE лицензионная система не имеет лицензируя ресурсы, чтобы завершать запрос.
LS_LICENSE_UNAVAILABLE лицензионная система имеет лицензируя ресурсы, которые могли бы удовлетворить запрос, но они не доступны на момент запроса.
LS_RESOURCES_UNAVAILABLE запрос не может быть завершен из-за недостаточных ресурсов, как например, память.
LS_NETWORK_UNAVAILABLE сеть отсутствует.
LS_BAD_ARG Один или более из аргументов неправильное.


Замечания

Используйте функцию LSRequest, чтобы запрашивать лицензирование ресурсов, чтобы уполномочивать определенный продукт, чтобы выполняться. Если правильная лицензия обнаружена, ответ вызова вычислен и LS_SUCCESS возвращан. На минимуме, PublisherName, ProductName, и строки Версии использованы, чтобы идентифицировать сопоставление лицензии или лицензий. Отметьте, что основной лицензионный системный поставщик услуги может установить дополнительную информацию для лицензионного запроса U например, текущее имя пользователя, компьютерного имени, и так далее.

Если все поставщики услуги не могут удовлетворить вызов в функцию LSRequest, тогда LSRequest возвращает ручку связанную ответом поставщика последней услуги. Следовательно, независимо от того, что правильному лицензированию ресурсов предоставляют, LSRequest всегда возвращает правильную лицензионную ручку. Эта ручка должна всегда выпускана функцией LSFreeHandle когда приложение завершило прогон. При лицензионных ресурсах, предоставляют, приложение должно также назвать LSRelease, чтобы освобождать лицензионные ресурсы, перед вызовом LSFreeHandle.

Ответ вызова не возвращан если лицензионный запрос не завершает успешно U то есть, если он не возвращает код статуса LS_SUCCESS.
Если количество запрошенных устройств больше, чем количество устройств доступных, лицензионный запрос не предоставляют. На успешном завершении, величина возвращанная в параметр TotUnitsReserved указывает количество предоставлянных устройств. Это больше, чем или равный количеству устройств запрошенных если LS_DEFAULT_UNITS не был определен. В случае неудачи, величина возвращанная в параметр TotUnitsGranted нулевая.

Смотри Также

LS_CHALLENGE, LSEnumProviders, LSFreeHandle, LSGetMessage, LSRelease


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz