我专门用于检测iff_event_func
和KEV_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
。
我的问题是:
如果10.8.5不支持KEV_DL_IF_DETACHING,我应该使用什么KEV_DL_xxx事件来处理过滤器分离的通知?
如果10.8.5上不支持许多KEV_DL_IF_xxx值,那么在10.8.5的iff_filter结构中指定iff_event_func回调是否有任何好处?
是否有一个kext可以调用的API来确定操作系统的版本?
谢谢!
答案 0 :(得分:0)
这是OSX 10.8.5和10.9.1的问题,正在被问题16342178跟踪。