引用 29 楼 gooogleman 的回复:
——我觉得paul.chao的方法还是不行,因为这个COM_Init 被加载了多次,他的返回值都是不同的。
所以有点难搞,我继续研究。也许我的表达没有让大家明白,呵呵。我继续努力ing
放心, 绝对可以的, 若是不行那也是你没弄清楚.
COM_Init 会去 LocalAlloc 一个 struct, 这个 struct 会去存该次载起来的 ioaddress, irq 等资讯, 所以 COM1 & COM2 虽然是执行同一个 dll, 但是其 struct 内存的 ioaddress 必定不同.
所以, LZ 在 COM_Open 中去比较其 ioaddress, 若是 COM1 的, 就去做一些您想做的事, 不就得了.
Paul, Chao @ Techware