1

ユーザーが Windows XP のデスクトップにファイル (ショートカット ファイル (*.lnk) とディレクトリを除く) を作成できないようにする機能を作成する必要があります。いくつかの調査の結果、これはファイル システム フィルター ドライバーまたはミニドライバーを使用して実行できるという結論に達しました。ローミング プロファイルをロード/保存できないため、NTFS アクセス許可を変更しても機能しません。

DDK のサンプルを確認しました。たとえば、cancelSafe です。彼らは I/O をキャンセルしていますが、これは私が望むものではありません。ウイルス対策プログラムが感染ファイルへのアクセスをブロックし、OS がエラー コード 5: アクセスが拒否されたことを確認しました。

まったく同じ動作が必要です。では、フィルタードライバーでこれを実現するにはどうすればよいですか?

4

1 に答える 1

4
  1. ミニフィルター ドライバーを作成し、デスクトップ フォルダーが存在する適切なボリュームに接続する必要があります。
  2. ミニフィルターで、IRP_MJ_CREATE をフィルター処理します
  3. IRP の PreOperation コールバックで、ファイル パスを確認します。デスクトップ フォルダー パスの下にある場合は、IRP が失敗し、スタックの下に渡されません。
  4. 操作前のコールバックで IRP を完了し、適切なステータスを設定することで、IRP を失敗させることができますIoStatus.Status。詳細については、操作前のコールバック ルーチンでの I/O 操作の完了を参照してください。
于 2013-06-06T09:07:26.973 に答える