Что нового

Обращение к методу функции в dll

moooe

Новичок
Сообщения
5
Репутация
0
Как обратиться не к функции, а ее методу в 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
 
Верх