Función SHGetFolderPathAndSubDirA (shlobj_core.h)
Obtiene la ruta de acceso de una carpeta y anexa una ruta de acceso de subcarpeta proporcionada por el usuario.
Sintaxis
HRESULT SHGetFolderPathAndSubDirA(
[in] HWND hwnd,
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[in] LPCSTR pszSubDir,
[out] LPSTR pszPath
);
Parámetros
[in] hwnd
Tipo: HWND
Reservado.
[in] csidl
Tipo: int
Valor CSIDL que identifica la carpeta cuya ruta de acceso se va a recuperar. Solo las carpetas reales son válidas. Si se especifica una carpeta virtual, se produce un error en esta función. Puede forzar la creación de una carpeta con SHGetFolderPathAndSubDir combinando el CSIDL de la carpeta con CSIDL_FLAG_CREATE.
[in] hToken
Tipo: HANDLE
Token de acceso que representa a un usuario determinado. Para los sistemas anteriores a Windows 2000, establezca este valor en NULL. Para sistemas posteriores, hToken suele ser, pero no siempre, establecido en NULL. Es posible que tenga que asignar un valor a hToken para esas carpetas que pueden tener varios usuarios, pero que se tratan como pertenecientes a un solo usuario. La carpeta más usada de este tipo es Mis documentos.
[in] dwFlags
Tipo: DWORD
Especifica si la ruta de acceso que se va a devolver es la ruta de acceso real de la carpeta o la ruta de acceso predeterminada. Este valor se usa en los casos en los que el usuario puede mover o cambiar el nombre de la carpeta asociada a un valor CSIDL .
SHGFP_TYPE_CURRENT
Devuelve la ruta de acceso actual de la carpeta.
SHGFP_TYPE_DEFAULT
Devuelve la ruta de acceso predeterminada de la carpeta.
[in] pszSubDir
Tipo: LPCTSTR
Puntero a la subruta que se va a anexar a la ruta de acceso de la carpeta. Se trata de una cadena terminada en null de longitud MAX_PATH. Si no va a crear un directorio nuevo, debe ser un subdirectorio existente o la función devuelve un error. Este valor puede ser NULL si no se va a anexar ninguna subruta.
[out] pszPath
Tipo: LPTSTR
Cuando esta función devuelve, este valor apunta a la ruta de acceso del directorio y a la subruta anexada. Se trata de una cadena terminada en null de longitud MAX_PATH. Esta cadena está vacía cuando la función devuelve un código de error.
Valor devuelto
Tipo: HRESULT
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Nota
El encabezado shlobj_core.h define SHGetFolderPathAndSubDir 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | 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.60 o posterior) |