2014-11-28 5 views
1
내가의 FLEXlm (11)이 코드는 분명히 이전의 FLEXlm 버전과 협력 랩 일부 레거시 코드를 수정하고, 뭔가 버전에서 LM_BORROW_STAT 변경해야합니다 필요

는 11의 FLEXlm은 빌린 라이센스의 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; 

문제는 종료 날짜 WHI입니다 다음과 같이

lc_get_attr(_jobData->_job, LM_A_BORROW_STAT, (short*) &pBorrowStatus) 

와 라이센스는 LM_BORROW_STAT 구조체에 반환 ch는 항상 0을 반환합니다. 즉, 기능, 공급 업체 및 시작일이 올바르게 작동하므로 LM_BORROW_STAT 끝의 구조 또는 정의가 변경되어야합니다. 나는 flexlm이 라이센스를 유효한 것으로 받아들이 기 때문에 종료 날짜가 빌린 라이센스에 올바르게 저장된다는 것을 알고 있습니다.

flexlm은 만료 된 빌린 라이센스를 레지스트리에 저장하고 열거 형으로 반환하므로 어떤 빌린 라이센스가 유효하고 사용 가능한지 확인하려면 종료 날짜에 액세스해야합니다.

불행하게도, 난 11

사람의 FLEXlm 11 빌린 라이센스의 종료 날짜를 읽고, 또는 대안 단지 유효을 검색하는 올바른 방법을 알고 있나요/비 만료 빌려 라이센스의 FLEXlm에 대한 모든 개발자/API 참조를 찾을 수 없습니다 ? 내가 버전 11에 대한 문서를 발견하지 않았기 때문에

답변

0

이 참 버전 (11)

이후 된 FlexLM API의 변화가 있었던 것으로 보인다 중 (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에서 시작하는 모든 것이 이전 코드에 결함이있는 것 같습니다.