Partager via


SHGetFolderPathAndSubDirA, fonction (shlobj_core.h)

Obtient le chemin d’un dossier et ajoute un chemin de sous-dossier fourni par l’utilisateur.

Syntaxe

HRESULT SHGetFolderPathAndSubDirA(
  [in]  HWND   hwnd,
  [in]  int    csidl,
  [in]  HANDLE hToken,
  [in]  DWORD  dwFlags,
  [in]  LPCSTR pszSubDir,
  [out] LPSTR  pszPath
);

Paramètres

[in] hwnd

Type : HWND

Réservé.

[in] csidl

Type : int

Valeur CSIDL qui identifie le dossier dont le chemin d’accès doit être récupéré. Seuls les dossiers réels sont valides. Si un dossier virtuel est spécifié, cette fonction échoue. Vous pouvez forcer la création d’un dossier avec SHGetFolderPathAndSubDir en combinant les CSIDL du dossier avec CSIDL_FLAG_CREATE.

[in] hToken

Type : HANDLE

Jeton d’accès qui représente un utilisateur particulier. Pour les systèmes antérieurs à Windows 2000, définissez cette valeur sur NULL. Pour les systèmes ultérieurs, hToken est généralement défini sur NULL. Vous devrez peut-être affecter une valeur à hToken pour ces dossiers qui peuvent avoir plusieurs utilisateurs, mais qui sont traités comme appartenant à un seul utilisateur. Le dossier le plus couramment utilisé de ce type est Mes documents.

[in] dwFlags

Type : DWORD

Spécifie si le chemin d’accès à renvoyer est le chemin d’accès réel du dossier ou le chemin d’accès par défaut. Cette valeur est utilisée dans les cas où le dossier associé à un CSIDL valeur peut être déplacé ou renommé par l’utilisateur.

SHGFP_TYPE_CURRENT

Retourne le chemin d’accès actuel du dossier.

SHGFP_TYPE_DEFAULT

Retourne le chemin d’accès par défaut du dossier.

[in] pszSubDir

Type : LPCTSTR

Pointeur vers le sous-chemin à ajouter au chemin du dossier. Il s’agit d’une chaînenull-terminated de longueur MAX_PATH. Si vous ne créez pas de répertoire, il doit s’agir d’un sous-répertoire existant ou de la fonction retourne une erreur. Cette valeur peut être NULL si aucun sous-chemin n’est à ajouter.

[out] pszPath

Type : LPTSTR

Lorsque cette fonction est retournée, cette valeur pointe vers le chemin d’accès du répertoire et ajoute un sous-chemin. Il s’agit d’une chaînenull-terminated de longueur MAX_PATH. Cette chaîne est vide lorsque la fonction retourne un code d’erreur.

Valeur de retour

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un HRESULT code d’erreur.

Remarques

Note

L’en-tête shlobj_core.h définit SHGetFolderPathAndSubDir comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête shlobj_core.h (include Shlobj.h, Shlobj_core.h)
bibliothèque Shell32.lib
DLL Shell32.dll (version 5.60 ou ultérieure)

Voir aussi

SHGetFolderPath