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 中定义的错误状态值之一。
注解
筛选器驱动程序可以读取需要写入的数据。 但是,筛选器驱动程序无法写入缓冲区,因为这可能会更改故障转储进程正在使用的代码或数据的内容。 此外,不允许筛选器驱动程序更改数据的大小。
若要安全地修改转储写入的数据,筛选器驱动程序应分配辅助缓冲区。 缓冲区的大小将是 FILTER_INITIALIZATION_DATA 的 MaxPagesPerWrite 成员的值乘以PAGE_SIZE。 Mdl 描述的当前缓冲区的数据将复制到辅助缓冲区并进行处理。 筛选器处理完辅助缓冲区中的转储数据后, Mdl 指向的 MDL 将更新为辅助缓冲区的地址。 MDL 中辅助缓冲区集的起始地址必须对齐页。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows Vista 和 Windows Server 2008 开始可用。 |
目标平台 | 桌面 |
标头 | ntdddump.h (包括 Ntdddump.h) |