SHGetViewStatePropertyBag 関数 (shlwapi.h)

[SHGetViewStatePropertyBag は、[要件] セクションで指定されたオペレーティング システムで使用できます。 以降のバージョンでは変更または使用できない場合があります。]

フォルダーのビューステート情報を格納し、その後取得できるプロパティ バッグを取得します。 ユーザーの設定は、次回ユーザーがフォルダーにアクセスする際に保持されます。

構文

LWSTDAPI SHGetViewStatePropertyBag(
  [in, optional] PCIDLIST_ABSOLUTE pidl,
  [in, optional] PCWSTR            pszBagName,
                 DWORD             dwFlags,
  [in]           REFIID            riid,
  [out]          void              **ppv
);

パラメーター

[in, optional] pidl

種類: PCIDLIST_ABSOLUTE

プロパティを要求するフォルダーの PIDL。 SHGVSPB_ALLFOLDERS フラグが渡される場合、このパラメーターは NULL である必要があります。

[in, optional] pszBagName

種類: PCWSTR

要求されたプロパティ バッグの名前を含む文字列へのポインター。

dwFlags

型: DWORD

次のフラグの組み合わせを指定する 値。

次のフラグ セットの 1 つの値が必要です。

SHGVSPB_PERUSER

指定した pidl のユーザーごとのプロパティを返します。

SHGVSPB_ALLUSERS

指定した pidl の All User プロパティを返します。

次のフラグ セットの 1 つの値が必要です。

SHGVSPB_PERFOLDER

pidl パラメーターで指定されたフォルダーのプロパティ バッグを返します。

SHGVSPB_ALLFOLDERS

すべてのフォルダーに適用されるプロパティ バッグを返します。

SHGVSPB_INHERIT

プロパティ バッグを持たないサブフォルダーの既定値を提供するために使用されるプロパティ バッグを返します。

次のフラグは省略可能です。

SHGVSPB_ROAM

プロパティ バッグをローミングできるようにします。 「移動ユーザー プロファイル」を参照してください。 このフラグをSHGVSPB_ALLFOLDERSと組み合わせることはできません。

SHGVSPB_NOAUTODEFAULTS

指定したフォルダーのプロパティ バッグが見つからない場合に、適切な既定値の検索を抑制します。 既定では、SHGVSPB_INHERITが指定されておらず、指定したフォルダーに対してプロパティ バッグが見つからない場合、システムは既定値を指定できる他の場所で同じ名前のプロパティ バッグを検索します。 たとえば、システムはフォルダーの先祖を検索して、SHGVSPB_INHERITプロパティ バッグが提供されているかどうかを確認します。 システムが検索するその他の場所は、ユーザーの既定値とグローバルの既定値です。

次のフラグセットは、上記のフラグを組み合わせた値で構成され、簡潔で便利にするために使用されます。

SHGVSPB_FOLDER

SHGVSPB_PERUSERとSHGVSPB_PERFOLDERを組み合わせます。

SHGVSPB_FOLDERNODEFAULTS

SHGVSPB_PERUSER、SHGVSPB_PERFOLDER、SHGVSPB_NOAUTODEFAULTSを結合します。

SHGVSPB_USERDEFAULTS

SHGVSPB_PERUSERとSHGVSPB_ALLFOLDERSを組み合わせます。

SHGVSPB_GLOBALDEFAULTS

SHGVSPB_ALLUSERSとSHGVSPB_ALLFOLDERSを結合します。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグの名前は SHGVSPB_GLOBALDEAFAULTS です。

[in] riid

種類: REFIID

ppv を介して取得するインターフェイスの IID への参照。

[out] ppv

型: void**

このメソッドが正常に返されると、 には riid で要求されたインターフェイス ポインターが含まれます。

戻り値

種類: HRESULT

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

注釈

重要な情報は、表示状態のプロパティ バッグに格納しないでください。これは、システムが保持するビュー ステートの数が限られているためです。 フォルダーが長時間アクセスされない場合、そのビューステートは最終的に削除されます。

riid パラメーターと ppv パラメーターをパッケージ化するには、Objbase.h で定義されている IID_PPV_ARGS マクロを使用することをお勧めします。 このマクロは 、ppv の値によって指されるインターフェイスに基づいて正しい IID を提供します。これにより、 riid でコーディング エラーが発生し、予期しない結果が発生する可能性がなくなります。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shlwapi.h
Library Shlwapi.lib
[DLL] Shlwapi.dll (バージョン 5.0 以降)