我有一个使用 CreateFileA 打开 COM 端口的例程。该函数是作为 DLL 创建的,我有一个 EXE(使用 VS2010)来调用打开不同的 COM 端口。一个观察是,如果我使用同一个 EXE 打开不同的端口,返回的文件句柄号是不同的。如果我打开多个 EXE 实例并打开不同的 COM 端口,返回的文件句柄号是相同的。eg-> 1 个 exe 用于打开 COM 端口 11,12,13,14,它们返回 File Handle Numbers - 0x200, 0x210, 0x21c, 0x220 4 个 exe,每个打开一个 COM 端口,它们都返回 File Handle Number - 0x200 .
我想知道这是否是由于 Windows 线程导致 exe 的每个实例都有一个单独的线程并因此具有相同的文件号?我使用我的 exe 与端口通信没有任何问题。任何理解这一点的线索都会有所帮助。(另一个应用程序正在尝试使用此 DLL,并且遇到返回相同文件句柄编号的问题)
谢谢阿迪亚