Nach dem Callstack zu urteilen, wird mit CoTaskMemFree ein "ungültiger" Speicherbereich freigegeben, was eine
Exception wirft.
Da wird wohl vergeblich versucht die
GUID in einen für menschen lesbaren Text umzuwandeln.
Zitat:
> ntdll.dll!DbgBreakPoint()
ntdll.dll!RtlReportException() + 0x47 bytes
ntdll.dll!RtlpTerminateFailureFilter() + 0x1a bytes
ntdll.dll!RtlReportCriticalFailure() + 0x91 bytes
ntdll.dll!__C_specific_handler() + 0x8c bytes
ntdll.dll!RtlpExecuteHandlerForException() + 0xd bytes
ntdll.dll!RtlDispatchException() + 0x1d7 bytes
ntdll.dll!RtlRaiseException() + 0xe1 bytes
ntdll.dll!RtlReportCriticalFailure() + 0x67 bytes
ntdll.dll!RtlpReportHeapFailure() + 0x26 bytes
ntdll.dll!RtlpHeapHandleError() + 0x16 bytes
ntdll.dll!RtlpLogHeapFailure() + 0xa4 bytes
ntdll.dll!string "Enabling heap debug options\n"() + 0x2c053 bytes
kernel32.dll!HeapFree() + 0xa bytes
ole32.dll!CoTaskMemFree() + 0x36 bytes
shlwapi.dll!StrRetToBufW() + 0xa9 bytes
shell32.dll!DisplayNameOfW() + 0x3f bytes
shell32.dll!CFSFolder::_GetNormalDisplayName() + 0x14148c bytes
shell32.dll!CFSFolder::GetDisplayNameOf() - 0x2d990 bytes
shell32.dll!DisplayNameOfAsBSTR() + 0x58 bytes
shell32.dll!ItemStore_ExtractProperty() - 0x2e bytes
shell32.dll!ItemStore_GetCachedProperty() - 0x13a3d bytes
shell32.dll!ItemStore_GetProperty() + 0xee bytes
shell32.dll!CDefView::_GetItemProperty() + 0xac bytes
shell32.dll!CDefView::_GetItemPropertyForDisplay() + 0xe8 bytes
shell32.dll!CDefView::_GetDisplayInfo() + 0x1b6 bytes
shell32.dll!CDefView::_OnLVNotify() + 0xa3 bytes
shell32.dll!CDefView::WndProc() + 0xc1 bytes
shell32.dll!CDefView::s_WndProc() + 0x7f bytes
user32.dll!UserCallWinProcCheckWow() + 0x10a bytes
user32.dll!CallWindowProcAorW() + 0x7c bytes
user32.dll!CallWindowProcW() + 0x18 bytes
Zumindest kann man die
Exception umgehen, indem man den Wert WantsFORDISPLAY in
HKEY_CLASSES_ROOT\
CLSID\{ED7BA470-8E54-465E-825C-99712043E01C}\ShellFolder
umbenennt.
Alles ohne Gewähr.