Quantcast
Channel: Randy Riness @ SPSCC aggregator
Viewing all articles
Browse latest Browse all 3015

MSDN Blogs: ファイルシステムミニフィルタードライバーのサンプル

$
0
0

ファイルシステムミニフィルタードライバーには、どのようなサンプルがあるかご存知でしょうか。

 

皆さん、こんにちは。Windows Driver Kit サポートチームの津田です。今回は、ファイルシステムミニフィルタードライバーのサンプルにどのようなものがあるかの一覧とそれぞれがある場所についてご案内します。サンプルの場所自体は、以下のサイトの [Download ZIP] ボタンで Windows-driver-samples-master.zipをダウンロードしていただいたことを前提に、ポイントします。

 

<https://github.com/Microsoft/Windows-driver-samples>

 

AVScan

 

AVScan は、Anti-Virus (アンチウィルス) を目的として、ファイル内のデータをスキャンする動作を示すサンプルです。

 

Windows-driver-samples-masterfilesysminiFilteravscan フォルダにあります。

 

 

CancelSafe

 

ミニフィルターでのキャンセルセーフキューの使い方のサンプルです。

 

Windows-driver-samples-masterfilesysminiFiltercancelSafe フォルダにあります。

 

 

CDO

 

ミニフィルターでの Control Device Object (CDO) の使い方のサンプルです。ミニフィルタには、アプリケーションとの通信方法が用意されているので、必ずしもアプリケーションがミニフィルタ CDO CreateFile でオープンして、そのハンドルを使ってミニフィルタと通信する、という必要はありません。ただ、そのような方法を必要とされる方のために、参考として公開されています。

 

Windows-driver-samples-masterfilesysminiFiltercdo フォルダにあります。

 

Change

 

ファイルの変更を検知するサンプルです。

 

Windows-driver-samples-masterfilesysminiFilterchange フォルダにあります。

 

 

Ctx

 

インスタンス、ファイル、ストリーム、ストリームハンドルに、コンテキストをアタッチしたり削除したりする方法を示すサンプルです。

 

Windows-driver-samples-masterfilesysminiFilterctx フォルダにあります。

 

 

Delete

 

ファイルやストリームが削除されることを検知する方法を示すサンプルです。

 

Windows-driver-samples-masterfilesysminiFilterdelete フォルダにあります。

 

 

MetadataManager

 

ミニフィルター自身のためにメタデータを保存するファイルの使い方を示すサンプルです。そのファイルへの変更をブロックしたり、一時的にそのファイルをクローズしたりします。

 

Windows-driver-samples-masterfilesysminiFilterMetadataManager フォルダにあります。

 

 

Minispy

 

システム上の任意の I/O を監視しログに記録する方法を示すサンプルです。

 

Windows-driver-samples-masterfilesysminiFilterminispy フォルダにあります。

 

 

NameChanger

 

あるボリュームの中で、あるディレクトリを別のディレクトリに見せる方法を示すサンプルです。具体的な動作は、「NameChanger File System Minifilter Driver ンプルを動かしてみる<https://blogs.msdn.microsoft.com/jpwdkblog/2016/03/29/namechanger-file-system-minifilter-driver-%e3%82%b5%e3%83%b3%e3%83%97%e3%83%ab%e3%82%92%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/> のエントリですでに紹介しています。

 

Windows-driver-samples-masterfilesysminiFilterNameChanger フォルダにあります。

 

 

NullFilter

 

ミニフィルターをフィルターマネージャーに登録するところを示すサンプルです。一切のコールバックをもちません。

 

Windows-driver-samples-masterfilesysminiFilternullFilter フォルダにあります。

 

 

PassThrough

 

任意の I/O リクエストに対してコールバックを指定する方法を示すサンプルです。それぞれのコールバックでは何もしません。Pre-operation Post-operation の両方のコールバックが呼ばれます。

 

Windows-driver-samples-masterfilesysminiFilterpassThrough フォルダにあります。

 

 

Scanner

 

AVScan と同様、Anti-Virus (アンチウィルス) を目的として、ファイル内のデータをスキャンする動作を示すサンプルです。

 

Windows-driver-samples-masterfilesysminiFilterscanner フォルダにあります。

 

 

SimRep

 

ミニフィルターが、ファイルオープンを他のパスにリダイレクトするリパースポイントの動作をシミュレートする方法を示すサンプルです。

 

Windows-driver-samples-masterfilesysminiFiltersimrep フォルダにあります。

 

 

SwapBuffer

 

データのRead/Write の際にバッファを交換する方法を示すサンプルです。この方法は、特に、暗号化フィルターを開発したい方に役に立ちます。

 

Windows-driver-samples-masterfilesysminiFilterswapBuffers フォルダにあります。

 

 

参考文献

File system driver samples

<https://msdn.microsoft.com/en-us/library/windows/hardware/mt348984(v=vs.85).aspx>

 

上記の内容が、ファイルシステムミニフィルタードライバーを開発される方のお役に立てば幸いです。

 


Viewing all articles
Browse latest Browse all 3015

Trending Articles