问题标签 [iokit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - 在哪里可以系统地学习如何编写Mac OS X设备驱动程序?
我正在寻找一本详尽的大学级书籍或学习指南,以获得编写 Mac OS X 设备驱动程序的能力。我对这个操作系统一无所知,但我已经精通 Linux。
“Linux 设备驱动程序”一书是否有任何 Mac OS X 对应物?
最好的指南也应该介绍操作系统内部,明确内核空间和用户空间差异等。
提前致谢
macos - osx:我如何找到磁盘 i/o 缓存的大小(例如写缓存)
我正在寻找优化我的磁盘 IO,并正在四处寻找磁盘缓存大小。system_profiler 没有告诉我,我还能看哪里?
编辑:我的程序正在处理整个卷:我正在进行安全擦除,所以我循环遍历卷上的所有块,读取,随机化数据,写入......如果我每个 IO 操作读/写 4k 个块整个作业比每次操作的 r/wa 单个块快得多。所以我的问题源于我寻找 ar/w 操作的理想大小(就性能而言是理想的:速度)。请不要指出对于擦除程序我不需要读取操作,只是假设我需要。谢谢。
c++ - 以编程方式获取安装在 OS X 上的 RAM 数量
我正在一台安装了 8 gigs 内存的机器上工作,我正在尝试以编程方式确定机器中安装了多少内存。我已经尝试使用 sysctlbyname() 来获取安装的内存量,但它似乎仅限于返回有符号的 32 位整数。
上面的代码,无论传递给 sysctlbyname 什么类型,在总变量中总是返回 2147483648。我一直在通过 IOKit 和 IORegistryExplorer 寻找另一种确定已安装内存的方法,但到目前为止还没有找到任何结果。我在 IORegistryExplorer 中找到了 IODeviceTree:/memory,但其中没有大小字段。我也没有在 IO Registry 的其他任何地方找到任何东西。有没有办法通过 IOKit 访问这些信息,或者有办法让 sysctlbyname 返回超过 32 位有符号整数?
macos - 使用 IOService 端口引用关闭设备
这个问题与 Mac OS X 上的 IO Kit 编程有关。
我有一个 IO 服务端口参考 (io_service_t)。是否有一个 API 可以用来关闭 IOService 端口参考端的任何内容?我已经尝试了所有的谷歌搜索,但没有找到解决方案。
任何帮助,将不胜感激。
干杯
简
objective-c - 如何从 OS X 中的设备 ID 知道设备的名称?
我正在 OS X 中编写一个程序,它接收来自鼠标和触摸板的点击事件。当用户点击某处时,操作系统会将设备 ID(只是一个 int)和光标位置发送给我的回调函数。我想知道点击事件是来自鼠标还是触摸板。那么,如何从设备 ID 中知道设备的名称呢?
谢谢!
(我很抱歉我的英语不好。)
objective-c - 如何判断给定路径是否在 Mac OS X 中安装了可移动媒体?
给定一个路径,在 Mac OS X 中,有没有办法告诉它是挂载的 CD 或 DVD,而不是常规目录、常规文件、挂载的 DMG 或其他可挂载的文件类型?具体来说,当用户直接提供路径或通过 NSOpenPanel 或将 CD 拖到应用程序上时,我想知道它是 CD 还是 DVD。在这些情况下,我需要采取特殊行动。
c - 这个函数IOHIDManagerRegisterDeviceMatchingCallback是在cocoa环境下运行的吗?
我正在努力使用 Mac 实现 HID 控件:我无法发送预期的功能,如下所示:
IOHIDManagerRegisterDeviceMatchingCallback(gIOHIDManagerRef, Handle_DeviceMatchingCallback, NULL);
带有:gIOHIDManagerRef -> 专用于该例程的有效 HID 管理器 Handle_DeviceMatchingCallback -> 当 HID 设备连接到 USB 端口 NUUL 时将回调的例程 -> 此处未使用,包含来自 USB 的数据问题是那 Handle_DeviceMatchingCallback 必须是一个指向例程的指针,但我怎样才能发送一个指针?另一方面,来自 Apple 来源的所有示例都基于 C,而不是基于可可。好吧,这是否意味着我必须用 C 重写我的程序???或者是否有可能在可可环境下用 C 语言编写程序的一部分?对不起,这么“愚蠢”的问题查询,但是,虽然我在电子编程领域有一些背景,但我是可可的新手。您的意见将不胜感激!
迈克尔
macos - IORegistryEntry::fromPath() 失败
我的 IOKit kext在较旧的 iMac上无法在 IORegistry 的 DeviceTree 平面中定位 /options 路径。有没有其他人遇到过这个或知道它为什么会失败?thx->adv
cocoa - 如何在 Mac OS cocoa 中获取已安装 USB 设备的设备 ID、供应商 ID 和产品 ID
我正在尝试编写一个 Cocoa 程序来检测连接到 Mac OS 的 iPod。我正在收听 NSWorkspaceDidMountNotification 和 NSWorkspaceDidUnmountNotification 以获取 USB 设备安装和卸载通知。我可以使用 NSString *path = [[notif userInfo] objectForKey:@"NSDevicePath"]; 获取已安装设备的设备路径 但我也不需要知道设备 ID、供应商 ID、产品 ID 等来检查安装的设备是否是 iPod。我认为前进的方向是 IOKit。但我有一种感觉,它适用于低级编程。有没有其他方法可以找到这些?另外,如果是 IO 套件,当我提供安装路径时,是否有任何示例程序会给出 ID?
非常感谢。
objective-c - 以编程方式触发“检测显示”。
当您单击“显示”系统偏好设置窗格中的“检测显示”时,我正在尝试触发系统所做的相同操作。有没有办法以编程方式做到这一点?我的目标是创建一个 LaunchAgent,它在登录时执行此操作以重置显示分辨率,以防用户弄乱它。