Интерфейс IShellFolderViewType

Предоставляет методы, позволяющие папке оболочки поддерживать различные представления содержимого (различные иерархические макеты данных).

Элементы

Интерфейс IShellFolderViewType наследуется от интерфейса IUnknown . IShellFolderViewType также имеет следующие типы элементов:

Методы

Интерфейс IShellFolderViewType содержит следующие методы.

Метод Описание
EnumViews Извлекает перечислитель, который будет возвращать один PIDL для каждого расширенного представления.
GetDefaultViewName Возвращает имя представления по умолчанию. Вызовите IShellFolder::GetDisplayNameOf , чтобы получить имена других представлений.
GetViewTypeProperties Возвращает свойства представления.
TranslateViewPidl Восстанавливает PIDL из одного иерархического представления папки оболочки в другое представление.

 

Комментарии

Этот перечислитель возвращает PID-файлы, которые представляют собой специальные скрытые папки на верхнем уровне папки оболочки, которые не перечисляются иным образом. Представление по умолчанию — это представление, отображающееся в обычной папке Оболочки.

Этот интерфейс не определен ни в одном общедоступном файле заголовка. Если вы решите реализовать этот интерфейс, можно использовать следующий код C/C++, чтобы объявить его методы.

#undef  INTERFACE
#define INTERFACE   IShellFolderViewType
DECLARE_INTERFACE_IID_(IShellFolderViewType, IUnknown, "49422C1E-1C03-11d2-8DAB-0000F87A556C")
{
    // *** IUnknown methods ***
    STDMETHOD(QueryInterface) (THIS_ REFIID riid, __out void **ppv) PURE;
    STDMETHOD_(ULONG,AddRef)  (THIS) PURE;
    STDMETHOD_(ULONG,Release) (THIS) PURE;

    // *** IShellFolderViewType Methods ***

    // EnumViews:
    //   Returns an enumerator which will give out one pidl for every extended view.
    STDMETHOD(EnumViews)(THIS_ ULONG grfFlags, __out IEnumIDList **ppenum) PURE;

    // GetDefaultViewName:
    //   Returns the name of the default view.  The names of the other views
    //   can be retrieved by calling GetDisplayNameOf.
    STDMETHOD(GetDefaultViewName)(THIS_ DWORD  uFlags, __out LPWSTR *ppwszName) PURE;
    STDMETHOD(GetViewTypeProperties)(THIS_ PCUITEMID_CHILD pidl, __out DWORD *pdwFlags)  PURE;

    // TranslateViewPidl:
    //   Attempts to take a pidl represented in one hierarchical representation of
    //   the Shell folder, and find it in a different representation.
    //   pidl should be relative to the root folder.
    //   Remember to ILFree ppidlOut
    STDMETHOD(TranslateViewPidl)(THIS_ PCUIDLIST_RELATIVE pidl, PCUIDLIST_RELATIVE pidlView,
              __out PIDLIST_RELATIVE *ppidlOut) PURE;
};

#define SFVTFLAG_NOTIFY_CREATE  0x00000001
#define SFVTFLAG_NOTIFY_RESORT  0x00000002

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
DLL
Shell32.dll