Im observing a very weird behaviour when using the IFileOpenDialog interface. I have the following wrapper:
FileOpenDialog::FileOpenDialog()
{
HRESULT res = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_native));
if(m_native == NULL)
throw Win32Exception("CoCreateInstance", HRESULT_CODE(res));
}
void FileOpenDialog::ShowDialog(HWND hWindow)
{
HRESULT hRes = m_native->Show(hWindow);
}
I also have my own exception system built up. But now if i use that code m_native->Show throws an exception with code 0x6BA which will launch my exception system. Normally i terminate my application if exceptions occur after displaying some infos about it. But if i now return EXCEPTION_CONTINUE_SEARCH the system doesnt care about that exception and all works as it should.
Image:
So i have three questions:
Why is there obviously another handler even if i set my handler up with AddVectoredExceptionHandler and First set to FALSE?
Why is that exception thrown?
How can i determine if i really have an unhandled exception which wont have any handler in later handlers?
Greetings and thanks
Plerion