0

Mac OS 用のカーネル エクステンションを作成しています。vnode_open() によって作成された tmp ファイルを削除する必要がありますが、ファイルを削除してディレクトリ内のすべてのファイルを一覧表示する方法がわかりません。

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/KernelIOKitFramework/vnode_h/index.html

ありがとう!

4

1 に答える 1

2

ユーザー空間デーモンを作成し、mach RPC を使用して通信することをお勧めします。kext でのファイルの削除方法 (私が認識している) は、カーネルのバージョンによって異なります。これは、vnode 構造内の v_op (vnode 操作ベクトル。カーネル拡張機能からは見えません) のオフセットを参照する必要があるためです。vnode 構造は、カーネルごとに異なる場合があります。vnop_remove_desc と vnop_rmdir_desc が見つかったとしても、これらのコールバックを使用するロジックが変更される可能性があるため、それを使用することは危険であると思います。

于 2011-08-31T12:24:08.910 に答える