SHSetFolderPathW 関数 (shlobj_core.h)
廃止。 CSIDL によって識別されるシステム フォルダーに新しいパスを割り当てます。
構文
HRESULT SHSetFolderPathW(
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[in] LPCWSTR pszPath
);
パラメーター
[in] csidl
型: int
CSIDL パスを設定するフォルダーを識別する値です。 物理フォルダーのみが有効です。 仮想フォルダーが指定されている場合、この関数は失敗します。
CSIDL_FLAG_DONT_UNEXPAND 値を CSIDL に追加して、指定されたとおりに文字列がレジストリに確実に書き込まれるようにします。 CSIDL_FLAG_DONT_UNEXPAND フラグが含まれていない場合は、パスの一部を、%USERPROFILE%などの環境文字列に置き換えることができます。
[in] hToken
型: HANDLE
特定のユーザーを表すために使用できる アクセス トークン。 このパラメーターは通常、null
hToken が null 以外の場合、呼び出し元のアプリケーション
[in] dwFlags
型: DWORD
引っ込み思案。 0 に設定する必要があります。
[in] pszPath
型: LPCTSTR
フォルダーの新しいパスを含む長MAX_PATHの null で終わる文字列へのポインター。 この値を NULL
戻り値
型: HRESULT
次のような標準 HRESULT コードを返します。
リターン コード | 形容 |
---|---|
|
フォルダーのパスが正常に更新されました。 |
|
いくつかのエラー条件により、次のようなこの値が返されます。
|
備考
フォルダー名には ANSI では表現できない Unicode 文字が含まれている可能性があるため、パスは Unicode 文字列として表現することをお勧めします。
手記
shlobj_core.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHSetFolderPath を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | shlobj_core.h (Shlobj.h、Shlobj_core.h を含む) |
ライブラリ | Shell32.lib |
DLL | Shell32.dll (バージョン 5.0 以降) |