IShellFolder2.GetDefaultColumn всегда терпит неудачу с E_NOTIMPL

Я пытаюсь использовать функцию IShellFolder2.GetDefaultColumn, чтобы получить столбец сортировки по умолчанию, который рекомендуется для определенной папки оболочки. Но, к сожалению, функция всегда дает сбой E_NOTIMPL (HResult -2147467263).

Вызов метода выглядит так:
hr := ishellfolder2.GetDefaultColumn(0, sortColumn, displayColumn);

Объект IShellFolder запрашивается с помощью
SHBindToParent
или же
ShellFolder.BindToObject
после этого он приведен к IShellFolder2,

Объект действителен, потому что он успешно используется, например, для запроса GetDetailsOf.

Я что-то пропустил?
Спасибо и наилучшими пожеланиями

1 ответ

Решение

Ответ от Microsoft:

Причина, по которой IShellFolder2.GetDefaultColumn всегда возвращает E_NOTIMPL, заключается в следующем: почти ни одна папка оболочки не реализует этот метод. Это означает, что эта папка не хочет перезаписывать порядок сортировки по умолчанию. Если этот метод завершается успешно, он возвращает пользовательский столбец сортировки, который отличается от столбца сортировки по умолчанию.

Другие вопросы по тегам