DUMP_WRITE回调函数 (ntdddump.h)
在写入转储端口驱动程序之前调用 Dump_Write 回调例程。 筛选器驱动程序目前可以访问转储数据。
语法
DUMP_WRITE DumpWrite;
NTSTATUS DumpWrite(
[in] PFILTER_EXTENSION FilterExtension,
[in, out] PLARGE_INTEGER DiskByteOffset,
[in, out] PMDL Mdl
)
{...}
参数
[in] FilterExtension
指向 FILTER_EXTENSION 结构的指针。
[in, out] DiskByteOffset
相对于故障转储或休眠的目标分区的值(以字节为单位)。 筛选器驱动程序不应修改此字段。
[in, out] Mdl
指向描述数据缓冲区的 MDL 结构的指针。 如果修改 MDL,则写入作的大小无法更改。
返回值
如果例程成功,则必须返回STATUS_SUCCESS。 否则,它必须返回 Ntstatus.h中定义的错误状态值之一。
言论
筛选器驱动程序可以读取需要写入的数据。 但是,筛选器驱动程序无法写入缓冲区,因为这可能会更改故障转储进程正在使用的代码或数据的内容。 此外,不允许筛选器驱动程序更改数据的大小。
若要安全地修改转储写入的数据,筛选器驱动程序应分配辅助缓冲区。 缓冲区的大小将是 MaxPagesPerWrite 成员 FILTER_INITIALIZATION_DATA 乘以 PAGE_SIZE的值。 Mdl 描述的当前缓冲区的数据将复制到辅助缓冲区中并进行处理。 筛选器处理完辅助缓冲区中的转储数据后,Mdl 指向的 MDL 将更新为辅助缓冲区的地址。 MDL 中设置的辅助缓冲区的起始地址必须对齐页。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows Vista 和 Windows Server 2008 开始可用。 |
目标平台 | 桌面 |
标头 | ntdddump.h (包括 Ntdddump.h) |