C++ flexlm借用许可证LM_借用_统计结构

C++ flexlm借用许可证LM_借用_统计结构,c++,flexlm,C++,Flexlm,我需要修复一些封装flexlm 11的遗留代码。这段代码显然适用于早期的flexlm版本,并且版本11中的LM_借阅_统计中一定发生了一些变化 该代码检索借用的许可证 lc_get_attr(_jobData->_job, LM_A_BORROW_STAT, (short*) &pBorrowStatus) 在LM_BORROW_STAT结构中返回,如下所示: typedef struct _lm_borrow_stat { struct _lm_borrow_stat *nex

我需要修复一些封装flexlm 11的遗留代码。这段代码显然适用于早期的flexlm版本,并且版本11中的LM_借阅_统计中一定发生了一些变化

该代码检索借用的许可证

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 end的结构或定义一定发生了更改。我知道结束日期正确地存储在借用的许可证中,因为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时,从
结束
开始向下的所有内容都可能与旧代码有缺陷