2012-04-20 2 views
0
  1. 의 인수로 객체를 파이썬 통과 문자열 파라미터를 받아 접속을 초기화 link("parameters", &connection); .는 DLL (C 언어)로부터의 함수가 기능

  2. 거기에 , 거기에 연결 - 개체, link()에 대한 호출로 초기화됩니다.

질문 : Python 연결 개체 함수 Connect()를 인수로 전달하는 방법은 무엇입니까?

from ctypes import * 
mydll = CDLL (link.dll) 
# How define the connection object? 
top = link ("localhost: 5412", connection) 
top = connect (connection) 
+0

C의 연결 매개 변수 유형은 무엇입니까? – gyim

+0

연결 그것은 개체에 핸들 winapi의 – KLM

답변

0

나는 winapi 핸들이 32 비트 길이라고 생각하지만 실제 길이가되도록해야 할 수도 있습니다. 당신이 다른 방법으로 연결을 사용하지 않는 경우, 어쩌면 당신은이 작업을 수행 할 수 있습니다

connection_t = ctypes.c_uint32 

link = mydll.link 
link.argtypes=(ctypes.c_char_p, ctypes.POINTER(connection_t)) 
connect = mydll.connect 
connect.argtypes=(connection_t,) 
... 
connection = connection_t() 
link ("localhost: 5412", ctypes.byref(connection)) 
... 

참고 : 당신이 처리 할 수있는 불투명 한 동등하게 다른 유형을 사용할 수 있습니다

  • ,만큼을 동일한 바이트 길이를가집니다. 더 좋은 점은 할당 된 것 대신에 상속 받아 생성 된 연결_t 타입을 "보호"할 수 있다는 것입니다.
+0

많은 감사합니다, 그것은 작동합니다 – KLM