WerRegisterMemoryBlock 函数 (werapi.h)

注册Windows 错误报告 ( WER) 创建错误报告时要收集的内存块。

语法

HRESULT WerRegisterMemoryBlock(
  [in] PVOID pvAddress,
  [in] DWORD dwSize
);

参数

[in] pvAddress

内存块的起始地址。

[in] dwSize

内存块的大小(以字节为单位)。 此参数的最大值为 WER_MAX_MEM_BLOCK_SIZE 字节。

返回值

此函数在成功时返回 S_OK 或失败时返回错误代码,包括以下错误代码。

返回代码 说明
WER_E_INVALID_STATE 进程状态无效。 例如,进程处于应用程序恢复模式。
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) 已注册的内存块和文件数超出了限制。

注解

使用此函数注册的内存仅添加到堆或更大的转储文件中。 此内存永远不会添加到小型转储或较小的转储文件中。

对于崩溃且无响应,操作系统会自动提供错误报告, (无需在应用程序) 提供任何错误报告代码。 如果使用此函数注册内存块,操作系统将在发生崩溃或无响应时将内存块信息添加到转储文件。 仅当服务器请求其他数据时,内存块才会添加到报表的转储文件中。

对于泛型事件报告,应用程序必须直接调用 WER 泛型事件报告函数。 若要将内存块添加到泛型报表,请调用 WerReportAddDump 函数,然后调用 WerReportSubmit 函数并指定WER_SUBMIT_ADD_REGISTERED_DATA标志。

若要从此列表中删除块,请调用 WerUnregisterMemoryBlock 函数。

要求

要求
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 werapi.h
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

WerUnregisterMemoryBlock,Windows 错误报告