私はここに来て、tar 'ファイルシステム'(mount tar)のコンセプトfsドライバを開発しようとしています。私の質問は、どのようにパーティションがTARファイルシステムを持っていることをOSが検出し、ドライバを自動的にロードするかということです。FS開発 - KMDF Windowsドライバ
答えて
最初にロードされたFSは、IoRegisterFileSystemと呼ばれます。このルーチンは、システム内のファイルシステムのリストにデバイスオブジェクトを挿入します。あなたはWRKを持っていなければなりません。 VPBIopCheckVpbMounted
でファイルを開いたと言うとIopMountVolume
と呼びます - これはマウントのための要点です。このルーチンは最初に登録されたFSでリストを辿り、いくつかのFSが成功コードを返すまでIRP_MN_MOUNT_VOLUMEをすべてに送ります。また、リストの最後のエントリ - 特別なファイルシステム認識プログラム - 彼はボリュームの特定のフォーマットを試します。はいの場合 - STATUS_FS_DRIVER_REQUIRED
を返します - このボリュームに新しいFSをロードする必要があることを示します。この場合のシステムはIopLoadFileSystemDriver
です。このルーチンは、ミニファイルシステム認識ドライバがボリュームを特定のファイルシステムであると認識したが、そのファイルシステムのドライバがまだロードされていないときに呼び出される。現時点FS_Rec.sysサポート次のFSで:他のサポートのための
cdfs
ReFS
ReFSv1 // begin from win 10
ExFat
FastFat
Udfs
Ntfs
- あなたが必要とするか、またはあなたのFSを認識し、IRP_MJ_FILE_SYSTEM_CONTROL.IRP_MN_MOUNT_VOLUME
にSTATUS_FS_DRIVER_REQUIRED
を返す自動負荷自己FSドライバまたは自己認識(ミニドライバー)とあなたのFSをロード(ZwLoadDriverコールで)IRP_MJ_FILE_SYSTEM_CONTROL.IRP_MN_LOAD_FILE_SYSTEM
- 1. ページプールメモリまたは非ページプールメモリ?? (Windowsドライバ開発)
- 2. Macドライバの開発
- 3. KMDFドライバにfstream.hを組み込んだ後のリンカエラー
- 4. デバイスドライバアプリケーション(KMDF)を開発するためのVisual Studio 2015の設定方法は?
- 5. 最初のWindowsドライバ開発練習:dev/randomまたはdev/null?
- 6. KMDFドライバに64ビットサポートを追加するためのガイド
- 7. Linuxドライバ開発:PCIとPCIeドライバの違いは?
- 8. WindowsドライバのWindowsバージョンマクロ
- 9. WindowsドライバC1083エラー
- 10. Windowsドライバの作成
- 11. Windows CEおよびWindowsデスクトップ用PCIeドライバ
- 12. Windowsでの開発
- 13. Windowsパケットキャプチャソフトウェア開発キット
- 14. windows 7 adbドライバSamsung galaxy S3
- 15. Ardiuno UnoのWindows XPドライバ
- 16. 複数のデバイスドライバですか? (KMDF/WDF)
- 17. Windows上でのWindows Phone開発
- 18. Linux、WindowsでのiPhone開発
- 19. Windows Mobileの開発要件
- 20. Windows Phone 7 DirectX開発
- 21. Windows版Linux用C++開発
- 22. Windows 10用DirectShow(Stream.h)開発
- 23. Windows 7モバイルアプリケーションの開発
- 24. Windows用カスタムバーチャルキーボードの開発
- 25. Windows 7でのSharePoint開発
- 26. CシャープWindowsフォームアプリケーションの開発
- 27. Windows CE用アプリケーション開発
- 28. Windows 10アプリケーションの開発
- 29. Windows用マルチタッチゲームの開発
- 30. Windowsサービスの開発とテスト