我需要在基于 Mono 的项目中使用vn_getpath函数(在 vnode.h 中作为内核框架的一部分定义),所以我将使用 PInvoke 来导入它。但我不知道应该在 DllImport 属性中引用哪个库。我已经尝试过“LibC”和“/System/Library/Frameworks/Kernel.framework/Kernel”,但到目前为止还没有运气。
有谁知道该函数位于哪个库中?
我的最终目标:
我正在收集系统中运行的所有进程的详细信息。我使用sysctl来枚举进程。从 sysctl 调用中,我可以获得进程可执行文件的进程 ID 和 VNode。现在我需要获取进程可执行文件的文件系统路径。
我正在查看 vn_getpath 和fcntl(使用 F_GETPATH 命令)。
在 vn_getpath 上,我不知道可以使用 DllImport 属性从哪个库导入它。
至于 fcntl,我在 LibC 中找到了,但该函数需要文件描述符(而不是 vnode)。
一般来说,我需要任何关于如何从 vnode 获取文件系统路径的想法,以及任意数量的中间步骤。
TIA
伊万