Как обратиться не к функции, а ее методу в Lusbapi.dll
В справочнике на С++ выглядит так:
1) if (GetDllVersion() != 2) { printf("Неправильная версия Dll!"); }
2) pModule = static_cast<ILE440 *>(CreateInstance("e440"));
if (pModule == NULL) { printf("Ошибка получения указателя на интерфейс"); }
3) if (!pModule->GetModuleName()) { printf("Ошибка доступа к модулю"); }
Для AutoIt переписал:
$hDLL = DllOpen('Lusbapi.dll')
1) $aRes = DllCall($hDLL, 'LRESULT', 'GetDllVersion')
if $aRes[0] <> 2 then Exit
2) $tDeviceName = DllStructCreate("char DeviceName[9]")
DllStructSetData($tDeviceName, "DeviceName", 'e440')
$aRes = DllCall($hDLL, 'PTR', 'CreateLInstance', 'STRUCT*', $tDeviceName)
$pModule = $aRes[0]
if $pModule == Null then Exit
3) На этом шаге ошибка
$aRes = DllCall($hDLL, 'PTR', 'GetModuleName')
Не найдена ф-я GetModuleName (т.к. это метод от функции CreateLInstance), обращение к методу так и не смог реализовать
Ссылка на dll, если нужно https://disk.yandex.ua/d/8HYYB0u7Xt1FOg
В справочнике на С++ выглядит так:
1) if (GetDllVersion() != 2) { printf("Неправильная версия Dll!"); }
2) pModule = static_cast<ILE440 *>(CreateInstance("e440"));
if (pModule == NULL) { printf("Ошибка получения указателя на интерфейс"); }
3) if (!pModule->GetModuleName()) { printf("Ошибка доступа к модулю"); }
Для AutoIt переписал:
$hDLL = DllOpen('Lusbapi.dll')
1) $aRes = DllCall($hDLL, 'LRESULT', 'GetDllVersion')
if $aRes[0] <> 2 then Exit
2) $tDeviceName = DllStructCreate("char DeviceName[9]")
DllStructSetData($tDeviceName, "DeviceName", 'e440')
$aRes = DllCall($hDLL, 'PTR', 'CreateLInstance', 'STRUCT*', $tDeviceName)
$pModule = $aRes[0]
if $pModule == Null then Exit
3) На этом шаге ошибка
$aRes = DllCall($hDLL, 'PTR', 'GetModuleName')
Не найдена ф-я GetModuleName (т.к. это метод от функции CreateLInstance), обращение к методу так и не смог реализовать
Ссылка на dll, если нужно https://disk.yandex.ua/d/8HYYB0u7Xt1FOg