Shbrowseforfolder Crash в ntdll.dllC++

Программы на C++. Форум разработчиков
Anonymous
Shbrowseforfolder Crash в ntdll.dll

Сообщение Anonymous »

Я получаю сбой в ntdll.dll при вызове shbrowseforfolder , а затем открываю папку, которая содержит любой файл .zip . Код следующим образом: < /p>

Код: Выделить всё

bool OpenFileOrDir(string& resname) {
BROWSEINFO bri{ 0 };
char buff[MAX_PATH]{ "" }, fname[MAX_PATH]{ "" };
//bri.hwndOwner = hDlg;
bri.pszDisplayName = buff;
bri.ulFlags = BIF_BROWSEINCLUDEFILES | BIF_DONTGOBELOWDOMAIN | BIF_NONEWFOLDERBUTTON | BIF_NOTRANSLATETARGETS | BIF_RETURNFSANCESTORS;
CoInitializeEx(nullptr, COINIT::COINIT_MULTITHREADED);
LPITEMIDLIST pIDL = SHBrowseForFolder(&bri);
bool isOk;
if (isOk = (pIDL != NULL)) {
SHGetPathFromIDListA(pIDL, fname);
CoTaskMemFree(pIDL);
}
CoUninitialize();
resname = string(fname);
return isOk;
}
В трассировке стека я вижу некоторые экземпляры Zipfldr.dll . Опция. Это довольно стабильный аварий. Любой файл .zip в папке вызывает его.
Удаление BIF_BROWSEINCLUDEFILES тоже не помогает.

Подробнее здесь: https://stackoverflow.com/questions/797 ... -ntdll-dll

Вернуться в «C++»