Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Récupère le chemin complet d’un dossier connu identifié par le KNOWNFOLDERID du dossier.
Syntaxe
HRESULT SHGetKnownFolderPath(
[in] REFKNOWNFOLDERID rfid,
[in] DWORD dwFlags,
[in, optional] HANDLE hToken,
[out] PWSTR *ppszPath
);
Paramètres
[in] rfid
Type : REFKNOWNFOLDERID
Référence au KNOWNFOLDERID qui identifie le dossier.
[in] dwFlags
Type : DWORD
Indicateurs qui spécifient des options de récupération spéciales. Cette valeur peut être 0 ; sinon, une ou plusieurs valeurs KNOWN_FOLDER_FLAG .
[in, optional] hToken
Type : HANDLE
Jeton d’accès qui représente un utilisateur particulier. Si ce paramètre est NULL, qui est l’utilisation la plus courante, la fonction demande le dossier connu pour l’utilisateur actuel.
Demandez le dossier d’un utilisateur spécifique en passant le hToken de cet utilisateur. Cela est généralement effectué dans le contexte d’un service disposant de privilèges suffisants pour récupérer le jeton d’un utilisateur donné. Ce jeton doit être ouvert avec des droits de TOKEN_QUERY et de TOKEN_IMPERSONATE . Dans certains cas, vous devez également inclure TOKEN_DUPLICATE. En plus de passer le hToken de l’utilisateur, la ruche de Registre de cet utilisateur spécifique doit être montée. Pour plus d’informations sur les problèmes de contrôle d’accès, consultez Contrôle d’accès.
L’affectation du paramètre hToken à une valeur de -1 indique l’utilisateur par défaut. Cela permet aux clients de SHGetKnownFolderPath de rechercher des emplacements de dossier (tels que le dossier Bureau ) pour l’utilisateur par défaut. Le profil utilisateur par défaut est dupliqué lorsque tout nouveau compte d’utilisateur est créé et inclut des dossiers spéciaux tels que Documents et Bureau. Tous les éléments ajoutés au dossier Utilisateur par défaut apparaissent également dans n’importe quel nouveau compte d’utilisateur. Notez que l’accès aux dossiers utilisateur par défaut nécessite des privilèges d’administrateur.
[out] ppszPath
Type : PWSTR*
Lorsque cette méthode est retournée, contient l’adresse d’un pointeur vers une chaîne Unicode terminée par null qui spécifie le chemin d’accès du dossier connu. Le processus appelant est chargé de libérer cette ressource une fois qu’elle n’est plus nécessaire en appelant CoTaskMemFree, que SHGetKnownFolderPath réussisse ou non. Le chemin retourné n’inclut pas de barre oblique inverse de fin. Par exemple, « C :\Users » est retourné plutôt que « C :\Users\ ».
Valeur retournée
Type : HRESULT
Retourne S_OK si elle réussit ou une valeur d’erreur sinon, y compris les éléments suivants :
| Code de retour | Descriptif |
|---|---|
|
Entre autres choses, cette valeur peut indiquer que le paramètre rfid fait référence à un KNOWNFOLDERID qui n’a pas de chemin d’accès (tel qu’un dossier marqué comme KF_CATEGORY_VIRTUAL). |
|
Entre autres choses, cette valeur peut indiquer que le paramètre rfid fait référence à un KNOWNFOLDERID qui n’est pas présent sur le système. Toutes les valeurs KNOWNFOLDERID ne sont pas présentes sur tous les systèmes. Utilisez IKnownFolderManager ::GetFolderIds pour récupérer l’ensemble de valeurs KNOWNFOLDERID pour le système actuel. |
Remarques
Cette fonction remplace SHGetFolderPath. Cette fonction plus ancienne est désormais simplement un wrapper pour SHGetKnownFolderPath.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows Vista [applications de bureau uniquement] |
| Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
| plateforme cible | Fenêtres |
| Header | shlobj_core.h (include Shlobj.h) |
| Library | OneCore.Lib |
| DLL | Shell32.dll (version 6.0.6000 ou ultérieure) |