我正在尝试通过使用结构来保存某些数据,例如位图
typedef struct _BITMAPDATA
{
CHAR* bitmapData;
ULONG bitmapSize;
}BITMAPDATA,*PBITMAPDATA;
我已经通过过滤器驱动程序创建了这些位图,位图工作正常但是,我如何将该位图存储在像硬盘这样的持久存储中。因此,每当系统意外崩溃或关闭时,驱动程序必须将创建的所有位图存储在持久存储中,并且当系统重新启动时,它将重新加载它们。
我正在尝试通过使用结构来保存某些数据,例如位图
typedef struct _BITMAPDATA
{
CHAR* bitmapData;
ULONG bitmapSize;
}BITMAPDATA,*PBITMAPDATA;
我已经通过过滤器驱动程序创建了这些位图,位图工作正常但是,我如何将该位图存储在像硬盘这样的持久存储中。因此,每当系统意外崩溃或关闭时,驱动程序必须将创建的所有位图存储在持久存储中,并且当系统重新启动时,它将重新加载它们。
如果系统崩溃或意外关闭,您无法确定任何事情,包括数据的保存。您可以尝试保存数据,但不能保证成功。您可以使用内核文件处理 API,例如ZwWriteFile。您可以注册一个错误检查回调例程,当错误检查(即系统崩溃)发生时将您的数据写入文件,但如前所述 - 由于事件的性质,不能保证成功 - 发生的错误可能会阻止文件写入, 例如。