SHSetKnownFolderPath

known folder を新しい場所にリダイレクトする。

SHSetKnownFolderPath rfid, dwFlags, hToken, pszPath

rfid : [var] 型: REFKNOWNFOLDERID known folder を識別する GUID。
dwFlags : [int] 型: DWORD 0 または次の値。
hToken : [intptr] 型: HANDLE 特定のユーザーを表すために使用するアクセストークン。このパラメーターは通常 NULL に設定し、その場合、関数は現在のユーザーのフォルダインスタンスへのアクセスを試みる。ただし、複数ユーザーを持ち得るが単一ユーザーに属するものとして扱われるフォルダの場合は、hToken に値を割り当てる必要があるかもしれない。この種類の最も一般的に使用されるフォルダは Documents である。
pszPath : [wstr] 型: PCWSTR フォルダの新しいパスへのポインター。これは長さ MAX_PATH の null 終端 Unicode 文字列である。このパスの長さはゼロであってはならない。

(プラグイン / モジュール : shell32.dll)

解説

known folder を新しい場所にリダイレクトする。

[戻り値]
型: HRESULT 成功した場合は S_OK を、それ以外の場合は次のいずれかを含むエラー値を返す。
(以下省略)

[備考]
この関数は SHSetFolderPath を置き換える。古い関数は今や単に SHSetKnownFolderPath
のラッパーである。この関数の呼び出し側は管理者特権を持っている必要がある。public な known folder
に対してこの関数を呼び出すには、呼び出し側は管理者特権を持っている必要がある。ユーザーごとの known folder に対しては
User 特権だけが必要である。Documents フォルダなど、known folder のいくつかはユーザーごとである。各ユーザーは
Documents フォルダに対して異なるパスを持つ。hToken が NULL の場合、API
は呼び出し側アプリケーションのフォルダインスタンス (現在のユーザーのもの) へのアクセスを試みる。hToken
が有効なユーザートークンの場合、API はそのトークンを使ってユーザーを偽装し、そのユーザーのインスタンスへのアクセスを試みる。この関数は
KF_CATEGORY_FIXED および KF_CATEGORY_VIRTUAL
型のフォルダに対しては呼び出すことができない。KF_CATEGORY_COMMON
型のフォルダに対してこの関数を呼び出すには、呼び出し側アプリケーションが昇格された特権で実行されている必要がある。

情報

プラグイン / モジュールshell32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の shell32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_shell32_gen2.hs