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)

Consulte también

SHGetFolderPath