DLL не может найти функции из Dependency Walker - PullRequest
1 голос
/ 27 сентября 2019

Я думаю, что это изображение подытожит проблему. Основная проблема для зависимости

Итак, нет действительного кода, который я могу показать для этого как DLL, которую я хочу просмотреть, не имеет исходного кода.

Как бы то ни было, у меня есть интерфейс для этой DLL как API.

FB4API3Lib INSTANCE = (FB4API3Lib)Native.loadLibrary("Interop.FB4API3Lib", FB4API3Lib.class);




int fb1_Open(int nUnit);
void fb1_Close(int nUnit);
void SetCommunicationMode(int nMode);
int fb1_GetNumberOfUnits();
NativeLong fb1_Stop(int nUnit);
int fb1_Reset(int nUnit);
int fb1_CheckSensor(int nUnit,StringByReference strWrk);
int fb1_SetImageFileFolder(int nUnit,String strPath);
int fb1_SetImageFileName(int nUnit,String strFileName);
int fb1_SetImageRegulation(int nUnit,tagImageInfo pImageInto);
NativeLong fb1_SetEndorseData(int nUnit,String strEds);
NativeLong fb1_SetEndorseMultiLine (int nUnitNo, tagEdsMulti  pInfo);
int fb1_Run(int nUnit, IntByReference strWrk3, StringByReference strWrk, IntByReference strWrk2);
int fb1_Run1(int nUnit,StringByReference strWrk,IntByReference strWrk2);
int fb1_Run1Ex(int nUnit,StringByReference strWrk,IntByReference strWrk2);
int fb1_Eject(int nUnit,int nPocket,int nNext);
int fb1_WaitEjecting(int nUnit);
int fb1_WaitCompleted(int nUnit);
void fb1_GetDetailErrorInfo(String strErr);
int fb1_Initialize(int nUnit);
int fb1_SetBinaryMode(int nUnit, int nSide, int nMode);
int fb1_SetRunMode(int nUnit, int nMOde, int nOpt, int nPkt);
int fb1_GetImageData(int nUnit, PointerByReference hBmap);
int fb1_GetEndorseStatus(int nUnit, IntByReference pType, int nFunc, tagMtrIjpSts pStutus);
int fb1_SetDeviceInfo(int nUnit, int nDeviceInfoID, String pszIn);
int fb1_SetBinaryInfo(int nUnit, int nSide, tagFb1BiInfo pBiInfo);

Вот как я бы попытался использовать его в JAVA для Eclipse и для его использования с C # Visual Studio.Мне удается сделать этот пробег с тем же именем.Но у меня проблемы с JAVA, который дает мне код ошибки.

java.lang.UnsatisfiedLinkError: Error looking up function 'SetCommunicationMode'

Конечно, это может означать разные вещи.Но я уже исключил, что библиотека не загружена, и DLL не является надлежащим 64/32 битом для моей машины.

Так что мне было интересно, что проблема в отображении функции для имени, как иногдаэто меняется по какой-то причине.Я использую ходунки Dependency и теперь не вижу никаких функций.Но DLL отлично работает для C #.

...