Mac OSX:Mountain Lion上的NKE iff_event_func

时间:2014-03-09 19:33:11

标签: macos osx-mountain-lion osx-mavericks kernel-extension

我专门用于检测iff_event_funcKEV_DL_IF_DETACHING事件的KEV_DL_IF_DETACHED回调。

在10.8.5上,我看到当我惊喜地移除一个接口(例如USB连接的电话)时,我的功能被调用。但是,kev_msg数据的event_code成员的值为13(KEV_DL_LINK_ON)而不是10(KEV_DL_IF_DETACHING)。

我确认在调用iff_event_func功能之前已event_code == 13回调iff_detached_func,因此iff_event_func来电似乎已通知NKE关于即将到来的支队。但是,我无法理解为什么我会KEV_DL_LINK_ON而不是KEV_DL_IF_DETACHING

我在this changelog中看到KEV_DL_IF_DETACHING(以及许多KEV_DL_IF_xxx值)显然已添加到10.9。因此,这意味着10.8.5不支持KEV_DL_IF_DETACHING

我的问题是:

  1. 如果10.8.5不支持KEV_DL_IF_DETACHING,我应该使用什么KEV_DL_xxx事件来处理过滤器分离的通知?

  2. 如果10.8.5上不支持许多KEV_DL_IF_xxx值,那么在10.8.5的iff_filter结构中指定iff_event_func回调是否有任何好处?

  3. 是否有一个kext可以调用的API来确定操作系统的版本?

  4. 谢谢!

1 个答案:

答案 0 :(得分:0)

这是OSX 10.8.5和10.9.1的问题,正在被问题16342178跟踪。