或者,您可以使用IOServiceGetMatchingServices
获取所有当前匹配服务的迭代器,使用由IOServiceMatching(kIoUSBDeviceClassname)创建的字典。
以下是一个简短的示例(我从未运行过):
#include <IOKit/IOKitlib.h>#include <IOKit/usb/IoUSBlib.h>int main(int argc,const char *argv[]){ cfmutabledictionaryRef matchingDict; io_iterator_t iter; kern_return_t kr; io_service_t device; /* set up a matching dictionary for the class */ matchingDict = IOServiceMatching(kIoUSBDeviceClassname); if (matchingDict == NulL) { return -1; // fail } /* Now we have a dictionary,get an iterator.*/ kr = IOServiceGetMatchingServices(kIOMasterPortDefault,matchingDict,&iter); if (kr != KERN_SUCCESS) { return -1; } /* iterate */ while ((device = IOIteratorNext(iter))) { /* do something with device,eg. check propertIEs */ /* ... */ /* And free the reference taken before continuing to the next item */ IOObjectRelease(device); } /* Done,release the iterator */ IOObjectRelease(iter); return 0;}总结
以上是内存溢出为你收集整理的c – 如何创建程序列出Mac中的所有USB设备?全部内容,希望文章能够帮你解决c – 如何创建程序列出Mac中的所有USB设备?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)