1

次のような構造を使用して、ビットマップなどの特定のデータを保存しようとしています。

typedef struct _BITMAPDATA
{
    CHAR* bitmapData;
    ULONG bitmapSize;
}BITMAPDATA,*PBITMAPDATA;

フィルタドライバを使用してこれらのビットマップを作成しました。ビットマップは正常に機能していますが、そのビットマップをハードディスクなどの永続ストレージに保存するにはどうすればよいですか。そのため、システムが誤ってクラッシュまたはシャットダウンした場合、ドライバーは作成されたすべてのビットマップを永続ストレージに保存する必要があり、システムの再起動時にそれらをリロードします。

4

1 に答える 1

1

システムがクラッシュしたり、予期せずシャットダウンしたりすると、データの保存など、何も確信が持てなくなります。データの保存を試みることはできますが、成功する保証はありません。ZwWriteFileなどのカーネル ファイル処理 API を使用できます。バグ チェック (システム クラッシュなど) が発生したときにデータをファイルに書き込むバグ チェック コールバック ルーチンを登録できますが、前に述べたように - イベントの性質上、成功する保証はありません - 発生したエラーによってファイルの書き込みが妨げられる場合があります。 、 例えば。

于 2013-03-23T16:44:07.437 に答える