Я пытаюсь загрузить DLL в Python, я хочу использовать ее функцию eConnect (), используя ctypes
Что я знаю из исходного кода DLL:
- из исходного кода * .cpp:
bool eConnect( const char *host, UINT port, int clientId=0);
- из инструмента для обхода зависимостей: порядковый номер функции равен 6, а недокументированное имя -
?eConnect@EClientSocket@@UAE_NPBDIH@Z
Я пытался получить доступ к eConnect двумя способами: myfunction и myfunction2, но, возможно, я ошибся. Вот мой код:
from ctypes import *
def main():
IP = c_char_p('127.0.0.1')
port = c_uint(7496)
client_id = c_int(0)
myfunction = getattr(cdll.TwsSocketClient, "?eConnect@EClientSocket@@UAE_NPBDIH@Z")
myfunction2= cdll.TwsSocketClient[6]
print myfunction
print myfunction2
print myfunction(IP, port, client_id,IP)
if __name__ == "__main__":
main()
Я получаю следующую ошибку:
«WindowsError: исключение: чтение прав доступа 0x0000002D»
Мне бы здесь нужна была помощь (я не знаю с ++).
Спасибо!