SHGetFolderLocation 関数 (shlobj_core.h)
非推奨になりました。 フォルダーのパスを ITEMIDLIST 構造体として取得します。
構文
SHSTDAPI SHGetFolderLocation(
[in] HWND hwnd,
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[out] PIDLIST_ABSOLUTE *ppidl
);
パラメーター
[in] hwnd
型: HWND
予約済み。
[in] csidl
型: int
配置するフォルダーを識別する CSIDL 値。 CSIDLs に関連付けられているフォルダーが特定のシステムに存在しない可能性があります。
[in] hToken
型: HANDLE
特定のユーザーを表すために使用できる アクセス トークン 。 通常は NULL に設定されますが、1 人のユーザーに属するフォルダーに対して複数のユーザーが存在する場合に必要になる場合があります。 この種類の最も一般的に使用されるフォルダーは 、マイ ドキュメントです。 hToken が NULL 以外の場合、呼び出し元のアプリケーションは正しい偽装を担当します。 特定のユーザーに適切なセキュリティ特権が必要であり、ユーザーのレジストリ ハイブが現在マウントされている必要があります。 アクセス制御の問題の詳細については、「Access Control」を参照してください。
hToken パラメーターに -1 の値を割り当てると、既定のユーザーが示されます。 これにより、 SHGetFolderLocation のクライアントは、既定のユーザーのフォルダーの場所 (デスクトップ フォルダーなど) を検索できます。 既定のユーザー ユーザー プロファイルは、新しいユーザー アカウントが作成されると複製され、 個人用ドキュメント や デスクトップなどの特別なフォルダーが含まれます。 [既定のユーザー] フォルダーに追加されたすべての項目は、新しいユーザー アカウントにも表示されます。
[in] dwFlags
型: DWORD
[out] ppidl
種類: PIDLIST_ABSOLUTE*
名前空間 (デスクトップ) のルートに対するフォルダーの場所を指定するアイテム識別子リスト構造へのポインターのアドレス。 失敗した場合、 ppidl パラメーターは NULL に設定されます。 呼び出し元のアプリケーションは、 ILFree を呼び出してこのリソースを解放する役割を担います。
戻り値
種類: HRESULT
成功した場合はS_OKを返し、それ以外の場合は次のようなエラー値を返します。
リターン コード | 説明 |
---|---|
|
nFolder の CSIDL は有効ですが、フォルダーは存在しません。 |
|
nFolder の CSIDL が無効です。 |
注釈
この関数は、以前のバージョンのシェルに含まれる SHGetSpecialFolderLocation のスーパーセットです。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | shlobj_core.h (Shlobj.h を含む) |
Library | Shell32.lib |
[DLL] | Shell32.dll (バージョン 5.0 以降) |