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 end の定義で何かが変更されている必要があります。flexlm がライセンスを有効なものとして受け入れるため、借用したライセンスに終了日が正しく保存されていることはわかっています。
flexlm は期限切れの借用ライセンスをレジストリに保持し、それらを列挙して返すため、どの借用ライセンスがまだ有効で利用可能かを確認するには、終了日にアクセスする必要があります。
残念ながら、flexlm 11 の開発者/API リファレンスが見つかりません。
flexlm 11 の借用ライセンスの終了日を正しく読み取る方法、または有効な/期限切れでない借用ライセンスを取得する正しい方法を知っている人はいますか?