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 以降) |