WER can call this function multiple times to get the report parameters that uniquely describe the problem.

The PFN_WER_RUNTIME_EXCEPTION_EVENT_SIGNATURE type defines a pointer to this callback function. You must use "OutOfProcessExceptionEventSignatureCallback" as the name of the callback function.



HRESULT PfnWerRuntimeExceptionEventSignature(
  [in]      PVOID pContext,
  [in]      const PWER_RUNTIME_EXCEPTION_INFORMATION pExceptionInformation,
  [in]      DWORD dwIndex,
  [out]     PWSTR pwszName,
  [in, out] PDWORD pchName,
  [out]     PWSTR pwszValue,
  [in, out] PDWORD pchValue


[in] pContext

A pointer to arbitrary context information that you specified when you called the WerRegisterRuntimeExceptionModule function to register the exception handler.

[in] pExceptionInformation

A WER_RUNTIME_EXCEPTION_INFORMATION structure that contains the exception information.

[in] dwIndex

The index of the report parameter. Valid values are 0 to 9. The first call to this function must set the index to 0, and each successive call must increment the index value sequentially.

[out] pwszName

A caller-allocated buffer that you use to specify the parameter name.

[in, out] pchName

The size, in characters, of the pwszName buffer. The size includes the null-terminating character.

[out] pwszValue

A caller-allocated buffer that you use to specify the parameter value.

[in, out] pchValue

The size, in characters, of the pwszValue buffer. The size includes the null-terminating character.

Return value

Return S_OK on success. If you return other failure codes, WER reverts to its default crash reporting behavior.


You must implement this function in your exception handler DLL.

To generate error reports for application-specific issues, the application must create a short description of the problem using a few basic pieces of information called report parameters. Report parameters include information such as the application name, application version, module name, module version, and error code. The combination of these report parameters describes a unique problem.

WER calls this callback function only if you set the pbOwnershipClaimed parameter of your OutOfProcessExceptionEventCallback callback function to TRUE. The pdwSignatureCount parameter of OutOfProcessExceptionEventCallback determines the number of times that WER will call this callback function.


Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header werapi.h

See also