Каждое приложение Windows завершается на GetOpenFileNameA

У меня проблема с открытием файла.
64-битное приложение работает нормально.
Но в 32-битном процессе приложение закрывалось, когда открывалось любое диалоговое окно файла.
Я не уверен, когда эта ошибка была начата. (Задолго до того, как я мог бы использовать все, как обычно.)

Вот callstack, когда puttygen.exe был прерван нажатием кнопки «загрузить ключ».
(Другие 32-битные процессы callstack были такими же, как ниже).

>shell32.dll!CProperTreeHost::_ConnectToView(int)
shell32.dll!CProperTreeHost::SetSite(struct IUnknown *)
shell32.dll!CProperTreeModuleInner::SetSite(struct IUnknown *)
SHCore.dll!_IUnknown_SetSite@8()
shell32.dll!DUI_WalkIUnknownElements(class DirectUI::Element *,void (*)(struct IUnknown *,long),long)
shell32.dll!DUI_WalkIUnknownElements(class DirectUI::Element *,void (*)(struct IUnknown *,long),long)
shell32.dll!DUI_WalkIUnknownElements(class DirectUI::Element *,void (*)(struct IUnknown *,long),long)
shell32.dll!DUI_WalkIUnknownElements(class DirectUI::Element *,void (*)(struct IUnknown *,long),long)
shell32.dll!CDUIViewFrame::SetShellView(struct IShellView *,struct HWND__ *,struct IUnknown *,enum SETVIEWFLAGS)
shell32.dll!CDUIViewFrame::SetLayoutDefinition(struct IFrameLayoutDefinition *)
shell32.dll!CExplorerBrowser::_SwitchView(struct IShellFolder *,struct _ITEMIDLIST_ABSOLUTE const *,int,class TelemetryCorrelationVectorServiceProvider *)
shell32.dll!CExplorerBrowser::_BrowseToView(struct _ITEMIDLIST_ABSOLUTE const *,int)
shell32.dll!CExplorerBrowser::_BrowseObjectInternal(struct _ITEMIDLIST_RELATIVE const *,unsigned int)
shell32.dll!CExplorerBrowser::_OnBrowseObject(void)
shell32.dll!CExplorerBrowser::BrowseObject(struct _ITEMIDLIST_RELATIVE const *,unsigned int)
comdlg32.dll!CFileOpenSave::_JumpToInitialLocation()
comdlg32.dll!CFileOpenSave::_InitOpenSaveDialog(struct HWND__ *)
comdlg32.dll!CFileOpenSave::s_OpenSaveDlgProc()
user32.dll!__InternalCallWinProc@20()
user32.dll!InternalCallWinProc()
user32.dll!UserCallDlgProcCheckWow()
user32.dll!DefDlgProcWorker()
user32.dll!_DefDlgProcW@16()
user32.dll!__InternalCallWinProc@20()
user32.dll!UserCallWinProcCheckWow()
user32.dll!SendMessageWorker()
user32.dll!InternalCreateDialog()
user32.dll!InternalDialogBox()
user32.dll!_DialogBoxIndirectParamAorW@24()
user32.dll!_DialogBoxIndirectParamW@20()
comdlg32.dll!CFileOpenSave::Show()
comdlg32.dll!_InvokeNewFileOpenSave(struct IFileDialog *,unsigned short,struct HWND__ *,struct _OFNINITINFO *,struct HWND__ *)
comdlg32.dll!_CreateNewFileOpenSaveInProc(unsigned short,struct HWND__ *,struct _OFNINITINFO *)
comdlg32.dll!NewGetFileName(struct OPENFILEINFO *,int)
comdlg32.dll!_GetFileName@8()
comdlg32.dll!_GenericGetFileNameA@8()
comdlg32.dll!_GetOpenFileNameA@4()
puttygen.exe!0041b424()

Кто-нибудь знает почему? Пожалуйста помоги.

FYI. Когда я проверяю значение, параметр последней вызванной функции (: _ ConnectToView (int)) был равен 0 (NULL). И ОС Windows10 64Bit (работает на VMWare Fusion).

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …