Share via


Fonction SHCreateDirectoryExA (shlobj_core.h)

[Cette fonction est disponible via Windows XP Service Pack 2 (SP2) et Windows Server 2003. Il peut être modifié ou indisponible dans les versions ultérieures de Windows.]

Crée un dossier de système de fichiers, avec des attributs de sécurité facultatifs.

Syntaxe

int SHCreateDirectoryExA(
  [in, optional] HWND                      hwnd,
  [in]           LPCSTR                    pszPath,
  [in, optional] const SECURITY_ATTRIBUTES *psa
);

Paramètres

[in, optional] hwnd

Type : HWND

Handle vers une fenêtre parent. Ce paramètre peut être défini sur NULL si aucune interface utilisateur n’est affichée.

[in] pszPath

Type : LPCTSTR

Pointeur vers une chaîne terminée par null spécifiant le chemin d’accès complet du répertoire. Cette chaîne a une longueur maximale de 248 caractères, y compris le caractère null de fin.

[in, optional] psa

Type : const SECURITY_ATTRIBUTES*

Pointeur vers une structure SECURITY_ATTRIBUTES avec l’attribut de sécurité du répertoire. Définissez ce paramètre sur NULL si aucun attribut de sécurité ne doit être défini.

Valeur retournée

Type : int

Retourne ERROR_SUCCESS en cas de réussite. Si l’opération échoue, d’autres codes d’erreur peuvent être retournés, y compris ceux répertoriés ici. Pour les valeurs qui ne sont pas spécifiquement répertoriées, consultez Codes d’erreur système.

Code de retour Description
ERROR_BAD_PATHNAME
Le paramètre pszPath a été défini sur un chemin relatif.
ERROR_FILENAME_EXCED_RANGE
Le chemin pointé par pszPath est trop long.
ERROR_PATH_NOT_FOUND
Le système ne peut pas trouver le chemin d’accès pointé par pszPath. Le chemin d’accès peut contenir une entrée non valide.
ERROR_FILE_EXISTS
Le répertoire existe.
ERROR_ALREADY_EXISTS
Le répertoire existe.
ERROR_CANCELLED
L’utilisateur a annulé l’opération.

Remarques

Cette fonction crée un dossier de système de fichiers dont le chemin complet est donné par pszPath. Si un ou plusieurs des dossiers intermédiaires n’existent pas, ils sont également créés. SHCreateDirectoryEx vérifie également que les fichiers sont visibles. S’ils ne sont pas visibles, attendez-vous à l’une des options suivantes :

  • Si hwnd est défini sur un handle de fenêtre valide, une boîte de message s’affiche pour avertir l’utilisateur qu’il peut ne pas être en mesure d’accéder aux fichiers. Si l’utilisateur choisit de ne pas continuer, la fonction retourne ERROR_CANCELLED.
  • Si hwnd a la valeur NULL, aucune interface utilisateur n’est affichée et la fonction retourne ERROR_CANCELLED.

Notes

L’en-tête shlobj_core.h définit SHCreateDirectoryEx en tant qu’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. La combinaison 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlobj_core.h (inclure Shlobj.h, Shlobj_core.h)
Bibliothèque Shell32.lib
DLL Shell32.dll (version 5.0 ou ultérieure)

Voir aussi

SHCreateDirectory