当前位置: 首页>>代码示例>>C++>>正文


C++ IOService::getDeviceMemory方法代码示例

本文整理汇总了C++中IOService::getDeviceMemory方法的典型用法代码示例。如果您正苦于以下问题:C++ IOService::getDeviceMemory方法的具体用法?C++ IOService::getDeviceMemory怎么用?C++ IOService::getDeviceMemory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IOService的用法示例。


在下文中一共展示了IOService::getDeviceMemory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

IOPolledFilePollers *
IOPolledFilePollers::copyPollers(IOService * media)
{
    IOPolledFilePollers * vars;
    IOReturn              err;
    IOService       * service;
    OSObject        * obj;
    IORegistryEntry * next;
    IORegistryEntry * child;

    if ((obj = media->copyProperty(kIOPolledInterfaceStackKey)))
    {
        return (OSDynamicCast(IOPolledFilePollers, obj));
    }

    do
    {
        vars = OSTypeAlloc(IOPolledFilePollers);
        vars->init();

        vars->pollers = OSArray::withCapacity(4);
        if (!vars->pollers)
        {
            err = kIOReturnNoMemory;
            break;
        }

        next = vars->media = media;
        do
        {
            IOPolledInterface * poller;
            OSObject *          obj;

            obj = next->getProperty(kIOPolledInterfaceSupportKey);
            if (kOSBooleanFalse == obj)
            {
                vars->pollers->flushCollection();
                break;
            }
            else if ((poller = OSDynamicCast(IOPolledInterface, obj)))
                vars->pollers->setObject(poller);

            if ((service = OSDynamicCast(IOService, next))
                    && service->getDeviceMemory()
                    && !vars->pollers->getCount())	break;

            child = next;
        }
        while ((next = child->getParentEntry(gIOServicePlane))
                && child->isParent(next, gIOServicePlane, true));

        if (!vars->pollers->getCount())
        {
            err = kIOReturnUnsupported;
            break;
        }
    }
    while (false);

    media->setProperty(kIOPolledInterfaceStackKey, vars);

    return (vars);
}
开发者ID:JackieXie168,项目名称:xnu,代码行数:63,代码来源:IOPolledInterface.cpp


注:本文中的IOService::getDeviceMemory方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。