ollydbg_ SetCommTimeouts 超时覆盖设定。COM 超时设定.
各位前辈大家好,以下问题属于优化应该不属于破解. 望版主老师审核. 谢谢
因为水平比较菜不知道应该如何进行了. 望指点。
事情是这样的,有一个程序会调用.jmp dword ptr ds:[<&api-ms-win-core-comm>; KernelBa.SetCommTimeouts 这个方法设定与COM口的超时时间.
微软解释 见链接https://learn.microsoft.com/zh-hk/previous-versions/aa909191(v=msdn.10)
https://learn.microsoft.com/zh-hk/previous-versions/aa909018(v=msdn.10)
其他参考. https://blog.csdn.net/caoshunxin01/article/details/79355469SetCommTimeouts
https://dabaojian.blog.csdn.net/article/details/47746617 COMMTIMEOUTS
windows系统利用此函数设定通讯设备读写时的超时参数,SetCommTimeouts函数声明如下:
BOOL SetCommTimeouts( HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts ); SetCommTimeouts函数的第一个参数hFile是由CreateFile函数返回指向已打开串行口的句柄。第二个参数指向拥有超时数据的控制块COMMTIMEOUTS。如果函数调用成功,则返回值为非0;若函数调用失败,则返回值为0。
COMMTIMEOUTS主要用于串口超时参数设置。COMMTIMEOUTS结构如下:
typedef struct _COMMTIMEOUTS {
DWORD ReadIntervalTimeout;
DWORD ReadTotalTimeoutMultiplier;
DWORD ReadTotalTimeoutConstant;
DWORD WriteTotalTimeoutMultiplier;
DWORD WriteTotalTimeoutConstant;
} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
————————————————
根据调试发现该程序默认是 下图ReadIntervalTimeout;时间换算过来要5秒钟了. 我们的数据传输量也非常少不超过20个字符. 现在要等7-10秒时间太长了. 希望能在3秒内完成传输.
因为我们设备就在com旁边. 很近传输有保障. 如何修改原文件把这个参数时间修改为256毫秒. ??
0118A92888 13 00 00 00 01 00 00 88 13 00 00 00 01 00 00ᎈ.ā.ᎈ.ā.
0118A93888 13 00 00 ᎈ.
88130000 000013885000 毫秒
00100000 00000100256 毫秒
88130000 000013885000 毫秒
00100000 00000100256 毫秒
88130000 000013885000 毫秒
页:
[1]