看板 Python 關於我們 聯絡資訊
以下是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