最近,我需要通过C ++在MFC中实现一个小功能,用于获取可用串口的列表。然后我看到this。我需要知道什么是SetupAPI1和SetupAPI2?当我想用这种方式实现我的功能时,我在哪里可以获得for (NSDictionary * dict in feeds) {
for (NSNumber * number in deepsightSig) {
long idFeed = [dict[@"SignatureNumber"] longValue]; /// if your id is too large, using NSString instead.
long idSig = [number longValue]; /// like NSString = [number stringValue];
if (idFeed == idSig) { /// if using NSString, it should be: "if ([idFeed isEqualToString:idSig])"
badIPCount++;
}
else {
goodIPCount++;
}
}
}
?在搜索互联网期间,我发现有一个SetupAPI,但似乎是另一个。现在,我对这些SetupAPI,SetupAPI1和SetupAPI2感到困惑。有什么区别?它们来自哪里?而且,如果我想使用它们,我怎么能得到它们呢?
答案 0 :(得分:2)
没有像SetupAPI1和SetupAPI2这样的想法。有一个名为SetupAPI的库。
您链接到的答案指的是名为EnumSerialPort的库。从该页面:
在内部,代码提供了9种枚举串行端口的方式(是的,你读的是正确的:9):使用CreateFile,QueryDosDevice,GetDefaultCommConfig,使用Setup API的两种方式,EnumPorts,WMI,Com Database&枚举注册表项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的不同方法,只需将它们编号为1和2。您可以通过以下链接查看这些详细信息。