Flex LM lc_get_attr() для LM_A_VENDOR_CALLBACK_DATA
В нашем приложении есть flex lm, сначала мы использовали Java JNA для вызова кода flex dll c. Мы можем начать нормально, и все работает нормально, пока мы не заснем и снова не откроем окна. Потому что мы не можем правильно получить данные LM_A_VAL_TYPE в функции LM_A_CHECKOUTFILTER_EX. Эта функция получает правильные параметры, пока мы не спим на компьютере. (Который мы устанавливаем через функцию lc_set_attr из flex lm). Мы не вызываем эту функцию из нашего кода Java, но она вызывается через flex и, следовательно, существует в коде c, который скомпилирован в dll.
Эта функция печатает нормальные ожидаемые данные при запуске, но возвращает странный символ после сна. (Если мы не отключим клиентский компьютер, эту ошибку невозможно воспроизвести.)
Мы не можем получить атрибут LM_A_VENDOR_CALLBACK_DATA даже после его установки... lc_get_attr(job, LM_A_VENDOR_CALLBACK_DATA, value), когда мы получаем значение, мы получаем неизвестные символы в параметре value...
Эта функция работает должным образом в Java JNI после сна Windows, и наше приложение работает должным образом: оно не закрывается после сна. Почему наш внутренний код на c работает правильно с Java JNI, а не с Java JNA. Есть идеи заставить его работать с JNA?