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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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