共用方式為


WerRegisterMemoryBlock 函式 (werapi.h)

註冊 Windows 錯誤報告 (WER) 建立錯誤報告時所要收集的記憶體區塊。

語法

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

參數

[in] pvAddress

記憶體區塊的起始位址。

[in] dwSize

記憶體區塊的大小,以位元組為單位。 此參數的最大值是WER_MAX_MEM_BLOCK_SIZE個字節。

傳回值

此函式會在成功或失敗時傳回錯誤碼 S_OK ,包括下列錯誤碼。

傳回碼 Description
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
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

WerUnregisterMemoryBlock,Windows 錯誤報告