LSQuery

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

The LSQuery function returns information about the service provider or the license system context associated with the specified handle obtained by a call to the LSRequest function.

LS_STATUS_CODE LS_API_ENTRY LSQuery(

LS_HANDLE LicenseHandle, // handle to the license context
LS_ULONG Information, // index that identifies the license information
LS_VOID *InfoBuffer, // pointer to buffer for returning license information
LS_ULONG BufferSize, // maximum size of buffer
LS_ULONG *ActualBufferSize // pointer to actual count of characters returned in buffer
);  

Parameters

LicenseHandle

[in] Specifies the handle to the license context. This parameter must be a handle created with the LSRequest function.

Information

[in] Specifies the index that identifies the information to be returned.

InfoBuffer

[out] Points to a buffer in which the resulting information is to be placed.

BufferSize

[in] Specifies, in bytes, the maximum size of the buffer pointed to by the InfoBuffer parameter.

ActualBufferSize

[out] Points to an LS_ULONG value that specifies the actual number of characters returned in the buffer, not including the trailing NULL byte.

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_RESOURCES_UNAVAILABLE The request cannot be completed because of insufficient resources, such as memory.
LS_BAD_INDEX An invalid index was specified in a call to the LSEnumProviders or the LSQuery function.
LS_BUFFER_TOO_SMALL The buffer that the Buffer parameter points to is too small to accommodate the text string to be returned; or the challenge data structure is too small to accommodate the challenge response.
LS_BAD_ARG One or more of the arguments is incorrect.

Remarks

The LSQuery function is used to obtain information about the license obtained from a call to the LSRequest function. For example, an application can determine the license type (demo, concurrent, personal, and so forth) and time restrictions.

The buffer should be large enough to accommodate the expected data. If the buffer is too small, then the status code LS_BUFFER_TOO_SMALL is returned and only the number of bytes specified in the parameter BufferSize is returned.

See Also

LSEnumProviders, LSGetMessage, LSRequest