我尝试使用cType将字符串传递给C++函数,并返回一个。函数声明是:
BOOL PERFORMAXCOM_API _stdcall SendReceive(IN HANDLE pHandle,
IN LPVOID wBuffer,
IN DWORD dwNumBytesToWrite,
IN DWORD dwNumBytesToRead,
OUT LPVOID rBuffer)
我对HANDLE
和DWORD
变量很满意,我在一个类似的函数中用以下设置实现了OUT LPVOID
:
当与类似的OUT LPVOID
一起使用时,会返回一个字符串。在
我当前从输入的字符串cmdStr
(例如“E0=1”)创建IN LPVOID
的方法是:
szSendStr = c_char * 64
SendStr = szSendStr()
for i in range(len(cmdStr)):
SendStr[i] = cmdStr[i]
然后使用以下声明将其传递给函数:
Status = SendReceive(byref(hUSBDevice), c_void_p(addressof(SendStr)), 64, 64, ReplyBuffer)
我尝试过许多不同的排列方式来将SendStr
传递给函数,但从来没有通过ReplyBuffer
中的空字符串获得任何内容。有没有办法传递我丢失的那根绳子?在
谢谢
劳伦斯
目前没有回答
相关问题 更多 >
编程相关推荐