Función SHCreateDirectoryExA (shlobj_core.h)

[Esta función está disponible a través de Windows XP Service Pack 2 (SP2) y Windows Server 2003. Puede modificarse o no estar disponible en versiones posteriores de Windows.

Crea una nueva carpeta del sistema de archivos, con atributos de seguridad opcionales.

Sintaxis

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

Parámetros

[in, optional] hwnd

Tipo: HWND

Controlador para una ventana primaria. Este parámetro se puede establecer en NULL si no se mostrará ninguna interfaz de usuario.

[in] pszPath

Tipo: LPCTSTR

Puntero a una cadena terminada en null que especifica la ruta de acceso completa del directorio. Esta cadena tiene una longitud máxima de 248 caracteres, incluido el carácter nulo de terminación.

[in, optional] psa

Tipo: const SECURITY_ATTRIBUTES*

Puntero a una estructura de SECURITY_ATTRIBUTES con el atributo de seguridad del directorio. Establezca este parámetro en NULL si no es necesario establecer ningún atributo de seguridad.

Valor devuelto

Tipo: int

Devuelve ERROR_SUCCESS si se ejecuta correctamente. Si se produce un error en la operación, se pueden devolver otros códigos de error, incluidos los que se enumeran aquí. Para los valores que no aparecen específicamente, consulte Códigos de error del sistema.

Código devuelto Descripción
ERROR_BAD_PATHNAME
El parámetro pszPath se estableció en una ruta de acceso relativa.
ERROR_FILENAME_EXCED_RANGE
La ruta de acceso a la que apunta pszPath es demasiado larga.
ERROR_PATH_NOT_FOUND
El sistema no encuentra la ruta de acceso a la que apunta pszPath. La ruta de acceso puede contener una entrada no válida.
ERROR_FILE_EXISTS
El directorio existe.
ERROR_ALREADY_EXISTS
El directorio existe.
ERROR_CANCELLED
El usuario canceló la operación.

Comentarios

Esta función crea una carpeta del sistema de archivos cuya ruta de acceso completa es proporcionada por pszPath. Si no existen una o varias de las carpetas intermedias, también se crean. SHCreateDirectoryEx también comprueba que los archivos están visibles. Si no están visibles, espere una de las siguientes opciones:

  • Si hwnd está establecido en un identificador de ventana válido, se muestra un cuadro de mensaje que advierte al usuario de que es posible que no pueda acceder a los archivos. Si el usuario decide no continuar, la función devuelve ERROR_CANCELLED.
  • Si hwnd se establece en NULL, no se muestra ninguna interfaz de usuario y la función devuelve ERROR_CANCELLED.

Nota

El encabezado shlobj_core.h define SHCreateDirectoryEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shlobj_core.h (incluya Shlobj.h, Shlobj_core.h)
Library Shell32.lib
Archivo DLL Shell32.dll (versión 5.0 o posterior)

Consulte también

SHCreateDirectory