2009-07-31 10 views
3

システムシャットダウンまたはサービスシャットダウンの直前に、ファイル/メモリに何かを書きます。次のシステムの再起動時に、ファイルシステムがロードされる前に、ディスク上の同じファイルまたは同じメモリにアクセスすることは可能ですか?実際の要件はこれです、我々は、ボリュームレベルのドライバとファイルシステムドライバの間にあるドライバを持っています...ドライバコードのその部分で、私はいくつかのメモリまたはファイルにアクセスしたいです。Windowsの再起動時に同じリソースにアクセスする

おかげ&よろしく、
カルバン

答えて

2

は、ここでは論理的なことは、それがあまりにも大きくない場合、このレジストリへの書き込み/読み込みすることです。レジストリを使用したくない理由はありますか?

大きなデータにアクセスする必要があり、ボリュームまたはデバイスフィルタを作成していて、カーネルのZwOpen/Read/Write/Close機能に依存できない場合は、ユーザーモードでファイルを作成し、名前とクラスタチェーンを作成し、それらをレジストリに格納します。次の起動時に、デバイスとクラスタをレジストリから取得し、I/Oを直接起動できます。

+0

はい、 12MBを超える(regは12個しか保持できません)、さらに顧客はレジストリ全体を使用することはできません。 – rplusg

+0

次に、12mbのファイルを作成し、クラスタチェーンを取得して使用します。 – KIV

+0

答えてくれてありがとうございます。私は試してみると、サンプルの擬似コードがもっとうまくいくでしょう... – rplusg

0

ファイルシステムがロードされる前にこれにアクセスしたいので、私の最初の考えは、ファイルシステムの外部のハードドライブ上のストレージスペースのブロックを割り当てて使用することです。ドライブに隠れたミニパーティションを作成し、低レベルのI/Oコマンドを使用してデータを読み書きすることができます。

これは組み込みシステムの世界で一般的な作業であり、システムにある種の不揮発性メモリデバイス(フラッシュ、バッテリバックアップDRAMなど)を追加して読み書きすることで実装することがよくありますデバイス。埋め込み開発者が利用できるハードウェアと同じレベルの制御はない可能性が高いので、私が考えることのできる最も近いアナログは、物理ディスクにマウントしなくても読み込める空間のチャンクを予約することですファイルシステム。あなたがそのサイズを知っていれば、それを1つの大きなRAWバッファーとして扱うことができ、ファイル名、ファイルシステムなどを扱いにくくすることができるので、専用のミニパーティションが最も効果的かもしれません。

関連する問題