注意:这是Microsoft Windows的将来版本中将支持的技术的初步文档。
LSQuery函数返回有关通过调用LSRequest函数获得的与指定句柄相关联的服务提供商或许可证系统上下文的信息。
LS_STATUS_CODE LS_API_ENTRY LSQuery(
LS_HANDLE 【LicenseHandle】, | //处理许可上下文 |
LS_ULONG 【信息】, | //标识许可证信息的索引 |
LS_VOID 【*InfoBuffer】, | //指向缓冲区的返回许可证信息的指针 |
LS_ULONG 【BufferSize】, | //缓冲区的最大大小 |
LS_ULONG 【*ActualBufferSize】 | //指向缓冲区中返回的实际字符数的指针 |
); |
参数
【LicenseHandle】
[in]指定许可上下文的句柄。此参数必须是使用LSRequest功能创建的句柄。
【信息】
[in]指定标识要返回的信息的索引。
【InfoBuffer】
[out]指向要放置结果信息的缓冲区。
【BufferSize】
[in]以字节为单位指定【InfoBuffer】参数指向的缓冲区的最大大小。
【ActualBufferSize】
[out]指向一个LS_ULONG值,指定缓冲区中返回的实际字符数,不包括尾随的NULL字节。
返回值
如果函数成功,返回值为LS_SUCCESS。
如果函数失败,则返回值为状态码。有关扩展错误信息,请调用LSGetMessage 返回状态【文本】,状态为【码】.LSGetMessage功能可能会返回以下状态代码之一:
值 | 含义 |
LS_BAD_HANDLE | 呼叫中使用的句柄没有描述有效的许可证系统上下文。 |
LS_RESOURCES_UNAVAILABLE | 由于资源不足(如内存),请求无法完成。 |
LS_BAD_INDEX | 在LSEnumProviders或LSQuery功能的调用中指定了无效的索引。 |
LS_BUFFER_TOO_SMALL | 【缓冲】参数指向的缓冲区太小,无法容纳要返回的文本字符串;或挑战数据结构太小而不能应对挑战响应。 |
LS_BAD_ARG | 一个或多个参数是不正确的。 |
备注
LSQuery功能用于获取有关从LSRequest功能的调用获取的许可证的信息。例如,应用程序可以确定许可证类型(演示,并发,个人等等)和时间限制。
缓冲区应足够大以适应预期的数据。如果缓冲区太小,则返回状态码LS_BUFFER_TOO_SMALL,并返回参数【BufferSize】中指定的字节数。
也可以看看