FlexLM 借用的许可证LM_BORROW_STAT结构
flexlm borrowed licenses LM_BORROW_STAT struct
我需要修复一些包装flexlm 11的遗留代码。 该代码显然适用于早期的 FlexLM 版本,并且在版本 11 的LM_BORROW_STAT中一定发生了某些更改。
该代码使用
lc_get_attr(_jobData->_job, LM_A_BORROW_STAT, (short*) &pBorrowStatus)
它们在 LM_BORROW_STAT 结构中返回,如下所示:
typedef struct _lm_borrow_stat {
struct _lm_borrow_stat *next;
char feature[MAX_FEATURE_LEN+1];
char vendor[MAX_VENDOR_NAME + 1];
time_t start;
time_t end;
char code[MAX_CRYPT_LEN + 1];
int borrow_binary_id;
} LM_BORROW_STAT;
问题是结束日期总是返回 0 - 功能、供应商和开始日期正常工作,因此结束的结构或定义LM_BORROW_STAT一定发生了变化。我知道结束日期正确存储在借用的许可证中,因为flexlm接受许可证有效。
由于flexlm将过期的借用许可证保留在注册表中并在枚举时返回它们,因此我需要访问结束日期以查看哪些借用的许可证仍然有效且可用。
不幸的是,我找不到 flexlm 11 的任何开发人员/API 参考。
有谁知道读取flexlm 11借用许可证结束日期的正确方法,或者只是检索有效/未过期的借用许可证?
自版本 11 以来,FlexLM API 似乎确实发生了变化。
由于我也没有找到版本 11 的文档(Flexera 文档区域有完全不同的东西?),我只能告诉您结构中似乎有两个新值,并且end
已被转移。
typedef struct _lm_borrow_stat {
struct _lm_borrow_stat *next;
char feature[MAX_FEATURE_LEN+1];
char vendor[MAX_VENDOR_NAME + 1];
time_t start;
long new_var_1;
time_t end;
long new_var_2;
char code[MAX_CRYPT_LEN + 1];
int borrow_binary_id;
} LM_BORROW_STAT;
事实上,这固定了end
在我眼中的值,这也意味着,在后台他们直接从内存中读取这个结构。
因此,实际上,当您使用版本 11 时,从 end
开始的所有内容都可能在旧代码中存在缺陷。
相关文章:
- 我想重置一个C++结构统计,我可以以某种方式使用 stat() 语法吗?
- 在 Windows 上,stat 和 GetFileAttributes 对于包含奇怪字符的路径失败
- stat() 相对于文件系统是原子的
- C++ stat(const char *d_name) 始终返回 -1
- 无法打开源文件"sys/types.h"、"sys/stat.h"
- CMAKE所需的标头系统/Stat.h找不到
- 使用 C++ 解析 /proc/stat
- C 与stat lib中的std :: string相关的未定义符号
- 比 stat() 在 DIR 中查找文件的更好方法
- 如何在Visual Studio c ++ 2010中使用stat检查文件是否存在
- 使用stat和read()读取cpp文件时出错
- stat()st_mode似乎没有更新
- 如何确保"waitpid(-1, &stat, WNOHANG)"收集所有子进程
- Stat() 函数返回值 -1,因此无法访问文件属性.我该如何纠正这一点
- 带有资源管理器的智能指针,允许对象"borrow"资源
- 我们可以在c++中使用带有文件相对路径的stat吗
- “stat()”的一些奇怪行为
- 带有变量的C++文件/目录stat
- stat not working
- 通过stat with path检查dir是否存在