2014-11-28 2 views
1

мне нужно исправить некоторые унаследованный код, который оборачивает FLEXlm 11. Код по-видимому, работал с более ранними версиями Flexlm, и что-то должно быть изменено в LM_BORROW_STAT в версии 11.FLEXlm заимствованных лицензий 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; 

проблема является дата окончания бее ch всегда возвращает 0 - функция, поставщик и дата начала работают правильно, поэтому что-то должно измениться в структуре или определении конца LM_BORROW_STAT. Я знаю, что дата окончания хранится в заимствованной лицензии правильно, так как flexlm принимает лицензию как действительную.

Поскольку flexlm сохраняет истекшие заимствованные лицензии в реестре и возвращает их при перечислении, мне нужно получить доступ к дате окончания, чтобы узнать, какие заемные лицензии по-прежнему действительны и доступны.

К сожалению, я не могу найти ссылку разработчик/API для FLEXlm 11.

Кто-нибудь знает правильный способ чтения даты окончания для Flexlm 11 заимствованы лицензии, или же просто получение действительной/не истек заимствованные лицензии ?

ответ

0

Там действительно, кажется, были изменения в API Flexlm начиная с версии 11.

Поскольку я не нашел документацию для версии 11 либо (Flexera область Documentation имеет совершенно разные вещи?), Можно только сказать, что в структуре есть два новых значения, а 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 в моих глазах также означает, что сзади они читают эту структуру непосредственно из памяти.

На самом деле, все, начиная с end вниз, вероятно, испорчено старым кодом, когда вы используете версию 11.

Смежные вопросы