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_DATAMaxPagesPerWrite 成员的值乘以PAGE_SIZEMdl 描述的当前缓冲区的数据将复制到辅助缓冲区并进行处理。 筛选器处理完辅助缓冲区中的转储数据后, Mdl 指向的 MDL 将更新为辅助缓冲区的地址。 MDL 中辅助缓冲区集的起始地址必须对齐页。

要求

要求
最低受支持的客户端 从 Windows Vista 和 Windows Server 2008 开始可用。
目标平台 桌面
标头 ntdddump.h (包括 Ntdddump.h)

另请参阅

Dump_Read

FILTER_EXTENSION

FILTER_INITIALIZATION_DATA