Windows/C++: FormatMessage() с GetExceptionCode() игнорирует FORMAT_MESSAGE_IGNORE_INSERTS
Я хотел бы использовать код, подобный следующему, чтобы сообщить о делении на ноль, нарушениях доступа и т. Д. Моя проблема заключается в том, что, несмотря на установку флага FORMAT_MESSAGE_IGNORE_INSERTS
сообщения усекаются в позиции вставки.
__try
{
int *p=0;
int i = *p; // access violation
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
char message[1024];
FormatMessageA(
FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_IGNORE_INSERTS,
GetModuleHandleA("NTDLL.DLL"),
GetExceptionCode(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),
message,
sizeof (message),
0);
OutputDebugStringA(message);
}
Приведенный выше код дает "The instruction at 0x"
в отладочном выводе, который не очень полезен.
Я делаю что-то неправильно?