説明
[一部の情報はリリース前の製品に関することであり、正式版がリリースされるまでに大幅に変更される可能性があります。 ここに記載された情報について、Microsoft は明示または黙示を問わずいかなる保証をするものでもありません。]
フォルダーの KNOWNFOLDERID によって識別される既知のフォルダーの完全パスを取得します。 これにより、文字列バッファーの初期サイズを設定できるため、 SHGetKnownFolderPath が拡張されます。
HRESULT WINAPI SHGetFolderPathEx(
_In_ REFKNOWNFOLDERID rfid,
_In_ DWORD dwFlags,
_In_opt_ HANDLE hToken,
_Out_ LPWSTR pszPath,
_In_ UINT cchPath
);
パラメーター
rfid [in]
フォルダーを識別する KNOWNFOLDERID への参照。
dwFlags [in]
特別な取得オプションを指定するフラグ。 この値は 0 にすることができます。それ以外の場合は、KNOWN_FOLDER_FLAG値の 1 つ以上。
hToken [in, optional]
特定のユーザーを表す アクセス トークン 。 このパラメーターが NULL (最も一般的な使用法) の場合、関数は現在のユーザーの既知のフォルダーを要求します。
そのユーザーの hToken を渡して、特定のユーザーのフォルダーを要求します。 これは通常、特定のユーザーのトークンを取得するのに十分な特権を持つサービスのコンテキストで行われます。 そのトークンは、 TOKEN_QUERY と TOKEN_IMPERSONATE 権限で開く必要があります。 場合によっては、 TOKEN_DUPLICATEも含める必要があります。 ユーザーの hToken を渡すことに加えて、その特定のユーザーのレジストリ ハイブをマウントする必要があります。 アクセス制御の問題の詳細については、「Access Control」を参照してください。
hToken パラメーターに -1 の値を割り当てると、既定のユーザーが示されます。 これにより、 SHGetKnownFolderPath のクライアントは、既定のユーザーのフォルダーの場所 ( デスクトップ フォルダーなど) を検索できます。 既定のユーザー ユーザー プロファイルは、新しいユーザー アカウントが作成されると複製され、 ドキュメント や デスクトップなどの特別なフォルダーが含まれます。 [既定のユーザー] フォルダーに追加されたすべての項目は、新しいユーザー アカウントにも表示されます。 既定のユーザー フォルダーへのアクセスには管理者特権が必要であることに注意してください。
pszPath [out]
null で終わる Unicode 文字列。 このバッファーのサイズは cchPath である必要があります。 SHGetFolderPathEx が正常に返されると、このパラメーターには既知のフォルダーのパスが含まれます。
cchPath [in]
ppszPath バッファーのサイズ (文字数)。
戻り値
成功した場合 はS_OK を返し、それ以外の場合はエラー値を返します。
解説
SHGetFolderPath は SHGetKnownFolderPath のラッパーであるため、この関数 (SHGetFolderPathEx) は SHGetFolderPath の拡張機能としても機能します。