Función SHGetFolderPathAndSubDirW (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 SHGetFolderPathAndSubDirW(
[in] HWND hwnd,
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[in] LPCWSTR pszSubDir,
[out] LPWSTR 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 mediante la combinación del CSIDL de la carpeta con CSIDL_FLAG_CREATE.
[in] hToken
Tipo: HANDLE
Token de acceso que representa a un usuario determinado. Para sistemas anteriores a Windows 2000, establezca este valor en NULL. Para sistemas posteriores, hToken suele establecerse en NULL, pero no siempre. 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 único 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, 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 se devuelve esta función, 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 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
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) |