IShellFolderViewType インターフェイス

シェル フォルダーがコンテンツのさまざまなビュー (データの異なる階層レイアウト) をサポートできるようにするメソッドを公開します。

メンバー

IShellFolderViewType インターフェイスは、IUnknown インターフェイスから継承されます。 IShellFolderViewType には、次の種類のメンバーもあります。

メソッド

IShellFolderViewType インターフェイスには、これらのメソッドがあります。

メソッド 説明
EnumViews 拡張ビューごとに 1 つの PIDL を返す列挙子を取得します。
GetDefaultViewName 既定のビューの名前を取得します。 IShellFolder::GetDisplayNameOf を呼び出して、他のビューの名前を取得します。
GetViewTypeProperties ビューのプロパティを取得します。
TranslateViewPidl シェル フォルダーの 1 つの階層表現から別の表現に PIDL を再構築します。

 

解説

この列挙子は、シェル フォルダーの最上位レベルにある特別な非表示フォルダーである PIDL を返します。それ以外の場合は列挙されません。 既定のビューは、シェル フォルダーが正常に表示されるビューです。

このインターフェイスは、パブリック ヘッダー ファイルでは定義されていません。 このインターフェイスを実装することを選択した場合は、次の 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