SetupAPI1和SetupAPI2并不存在,只有一个名为SetupAPI的库。
你提供的答案指的是一个名为EnumSerialPort的库。从该页面可以看到:
在内部,代码提供了9种不同的枚举串口的方式(没错,你没看错:九种):使用CreateFile、QueryDosDevice、GetDefaultCommConfig、两种使用Setup API的方式、EnumPorts、WMI、Com数据库以及枚举注册表键HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM下的值。
...
代码的所有配置都由以下预处理器值控制:CENUMERATESERIAL_USE_STL、_AFX、NO_ENUMSERIAL_USING_CREATEFILE、NO_ENUMSERIAL_USING_QUERYDOSDEVICE、NO_ENUMSERIAL_USING_GETDEFAULTCOMMCONFIG、NO_ENUMSERIAL_USING_SETUPAPI1、NO_ENUMSERIAL_USING_SETUPAPI2、NO_ENUMSERIAL_USING_ENUMPORTS、NO_ENUMSERIAL_USING_WMI、NO_ENUMSERIAL_USING_COMDB和NO_ENUMSERIAL_USING_REGISTRY。
这个库提供了两种不同的方法,都依赖于SetupAPI,并将它们简单地编号为一和二。您可以通过以下链接查看这些详细信息以及更多内容。