本文整理汇总了C++中IOPCIDevice::getProperty方法的典型用法代码示例。如果您正苦于以下问题:C++ IOPCIDevice::getProperty方法的具体用法?C++ IOPCIDevice::getProperty怎么用?C++ IOPCIDevice::getProperty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IOPCIDevice
的用法示例。
在下文中一共展示了IOPCIDevice::getProperty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OSDynamicCast
IOService* X3100monitor::probe(IOService *provider, SInt32 *score)
{
if (super::probe(provider, score) != this) return 0;
UInt32 vendor_id, device_id;
if (OSDictionary * dictionary = serviceMatching(kGenericPCIDevice)) {
if (OSIterator * iterator = getMatchingServices(dictionary)) {
IOPCIDevice* device = 0;
while (device = OSDynamicCast(IOPCIDevice, iterator->getNextObject())) {
OSData *data = OSDynamicCast(OSData, device->getProperty("vendor-id"));
if (data)
vendor_id = *(UInt32*)data->getBytesNoCopy();
data = OSDynamicCast(OSData, device->getProperty("device-id"));
if (data)
device_id = *(UInt32*)data->getBytesNoCopy();
if ((vendor_id==0x8086) && (device_id==0x2a00)){
InfoLog("found %lx chip", (long unsigned int)device_id);
VCard = device;
}
}
}
}
return this;
}
示例2: probe
IOService* GeforceSensors::probe(IOService *provider, SInt32 *score)
{
UInt32 vendor_id, device_id, class_id;
DebugLog("Probing...");
if (super::probe(provider, score) != this) return 0;
InfoLog("GeforceSensors by kozlek (C) 2012");
s8 ret = 0;
if (OSDictionary * dictionary = serviceMatching(kGenericPCIDevice)) {
if (OSIterator * iterator = getMatchingServices(dictionary)) {
ret = 1;
IOPCIDevice* device = 0;
do {
device = OSDynamicCast(IOPCIDevice, iterator->getNextObject());
if (!device) {
break;
}
OSData *data = OSDynamicCast(OSData, device->getProperty(fVendor));
vendor_id = 0;
if (data)
vendor_id = *(UInt32*)data->getBytesNoCopy();
device_id = 0;
data = OSDynamicCast(OSData, device->getProperty(fDevice));
if (data)
device_id = *(UInt32*)data->getBytesNoCopy();
class_id = 0;
data = OSDynamicCast(OSData, device->getProperty(fClass));
if (data)
class_id = *(UInt32*)data->getBytesNoCopy();
if ((vendor_id==0x10de) && (class_id == 0x030000)) {
InfoLog("found %x Nvidia chip", (unsigned int)device_id);
card.pcidev = device;
card.device_id = device_id;
ret = 1; //TODO - count a number of cards
card.card_index = ret;
break;
}
} while (device);
}
}
if(ret)
return this;
else return 0;
return this;
}