2013-03-19 76 views
1

我想通过使用结构如何为过滤器驱动程序创建持久存储?

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

保存像一些位图的某些数据,我创建通过过滤驱动这些位图,位图工作正常,但是,我怎么可以存储位图的持久性存储像硬盘。因此,无论系统何时崩溃或意外关机,驱动程序都必须存储在持久存储中创建的所有位图,并且在系统重新启动时,它将重新加载它们。

回答

1

如果系统崩溃或意外关闭,则无法确定任何内容,包括保存数据。您可以尝试保存数据,但不能保证成功。您可以使用内核文件处理API,例如ZwWriteFile。您可以注册一个bug check callback routine,它会在发生错误检查(即系统崩溃)时将您的数据写入文件,但像之前所说 - 由于事件的性质而不能保证成功 - 发生的错误可能会阻止文件写入,例如。