作者hl4 (Minimi)
看板Python
標題[問題] 關於Python呼叫dll
時間Wed Jun 2 11:05:15 2010
以下是dll的interface
SetBrowseCallback(CALLBACK pFunc, DWORD dwIdentifier, DWORD dwExtData);
BrowseServer()
pFunc是BrowseServer()所需要的callback function
pFunc的prototype大致如下
(LPTSTR sServerName, LPTSTR sServerIP, LPTSTR sServerVersion,
LPTSTR sServerType, LPTSTR sServerMAC, DWORD dwIdentifier, DWORD dwExtData)
我呼叫的方式如下:
dll = ctypes.CDLL("Server.dll")
sbc = dll.SetBrowseCallback
sbc.restype = None
callback_proto = ctypes.PYFUNCTYPE( None, ctypes.c_char_p, ctypes.c_char_p,
ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p, DWORD, DWORD)
callback = callback_proto(py_callback)
#py_callback print所有參數
sbc(callback)
dll.BrowseServer()
雖然沒有error但是我的callback function完全沒被用到
想請問可能是哪部分的問題應該要怎麼解決,謝謝
--
Idle lawyers tend to become politicians,
so there is a certain social value in keeping lawyers busy.
from "Operating System Principles, 7th ed"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.144.205
→ sbrhsieh:callback_proto = ctypes.CFUNCTYPE(...) 06/02 11:40
→ hl4:結果還是一樣,但還是謝謝 06/02 13:12