共用方式為


IShellFolderViewType 介面

公開可讓 Shell 資料夾在其內容上支援不同檢視的方法, (其資料) 的不同階層式配置。

成員

IShellFolderViewType介面繼承自IUnknown介面。 IShellFolderViewType 也有下列類型的成員:

方法

IShellFolderViewType介面具有這些方法。

方法 描述
EnumViews 擷取列舉值,此列舉值會針對每個擴充檢視傳回一個 PIDL。
GetDefaultViewName 取得預設檢視的名稱。 呼叫 IShellFolder::GetDisplayNameOf 以擷取其他檢視的名稱。
GetViewTypeProperties 取得檢視的屬性。
TranslateViewPidl 將 PIDL 從 Shell 資料夾的一個階層標記法重新建構為不同的標記法。

 

備註

這個列舉值會傳回殼層資料夾最上層的特殊隱藏資料夾的 PIDL,否則不會列舉。 預設檢視是 Shell 資料夾正常顯示的檢視。

此介面未定義于任何公用標頭檔中。 如果您選擇實作此介面,您可以使用下列 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