c - 过滤器类型未声明?

标签 c macos kernel-module mach kernel-extension

我应该强制转换一个 Interrupt Filter 来传递给函数,但问题是,我的 Xcode 总是告诉我 Filter 类型未声明。

这是我的代码的一部分:

interruptSrc = IOFilterInterruptEventSource::filterInterruptEventSource((OSObject*)this,
                                   (IOInterruptEventAction)&VoodooSDHC::interruptHandler,
                                   (Filter)&VoodooSDHC::interruptFilter,
                                   (IOService*)provider);

我是 MacXcode 的新手,所以我真的不知道在这种情况下我应该做什么。

当函数实际采用该类型的参数时,它如何提示未定义?

最佳答案

您正在获取某个内容的地址并将其转换为看起来不像指针的内容。要么是一个指针 typedef(魔鬼的产卵),要么这不是一个好的转换。

您确定它不应该是:

(Filter *)&VoodooSDHC::interruptFilter,

关于c - 过滤器类型未声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18048241/

相关文章:

c - 转储内核模块堆栈

linux - 将 Ext4 打补丁并编译为内核模块

c - Slab缓存分配没有预定义函数的结构堆栈

c - 根据分隔符将单词附加到数组

c - 我用scanf获取输入,我用printf检查输入....然后我去用的时候输入不正确

c - 它出现在 c 中的字符串数组 (null)

macos - Mac OS X 是否带有内置于 Emacs 的 Lisp 环境?

c - 段错误(文件位于 C 上)

macos - swift 2 : Detect Function Key Presses

macos - 使用核心数据时的 EXC_BAD_ACCESS