IOKit研究

4885阅读 0评论2011-03-18 xwhbin
分类:BSD

要与外接设备进行通讯,需要寻找到设备,apple官网称其为设备匹配

------------------获取 I/O Kit 的主端口------------------------------------------
如何获取到这个设备对象,有两种方法:
1. 在10.2以前产用
mach_port_t myMasterPort;
kern_return_t result;

result = IOMasterPort(MACH_PORT_NULL, &myMasterPort)
IOServiceGetMatchingServices(myMasterPort, myMatchingDictionary,
                            &myIterator);

2. 直接使用kIOMasterPortDefault这个宏即可
IOServiceGetMatchingServices(kIOMasterPortDefault, myMatchingDictionary,
                            &myIterator);

-------------------为设备匹配字典获取键和值------------------------------------------
IOHIDKeys.h 文件中的 HID 类设备的匹配键

#define kIOHIDDeviceKey                     "IOHIDDevice"
#define kIOHIDTransportKey                  "Transport"
#define kIOHIDVendorIDKey                   "VendorID"
#define kIOHIDProductIDKey                  "ProductID"
#define kIOHIDVersionNumberKey              "VersionNumber"
#define kIOHIDManufacturerKey               "Manufacturer"
#define kIOHIDProductKey                    "Product"
#define kIOHIDSerialNumberKey               "SerialNumber"
#define kIOHIDLocationIDKey                 "LocationID"
#define kIOHIDPrimaryUsageKey               "PrimaryUsage"
#define kIOHIDPrimaryUsagePageKey           "PrimaryUsagePage"
应用程序必须为自己在匹配字典中使用的每一个设备属性键提供一个值。您可能可以访问定义这些键的值的头文件—例如,您可能会使用一个应用程序来访问您自己的公司提供的设备驱动程序。如果您没有预定义的头文件,则可以定义自己的常数。例如,您可以在 I/O Registry Explorer 程序中找到设备的驱动程序属性,并为这些属性定义对应的属性值常数

-------------------考察驱动程序的个性信息------------------------------------------------
-------------------考察 I/O Registry------------------------------------------------
上一篇:CBA
下一篇:3DES - DES