Compartir a través de


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 de 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 CSI DL de la carpeta con CSIDL_FLAG_CREATE.

[in] hToken

Tipo: HANDLE de

Un 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 de

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 CSIDL valor.

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 de

Puntero a la subruta que se va a anexar a la ruta de acceso de la carpeta. Se trata de una cadenaterminada nula de longitud MAX_PATH. Si no va a crear un nuevo 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 de

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 cadenaterminada nula 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 ejecuta correctamente, devuelve S_OK. De lo contrario, devuelve un hrESULT código de error.

Observaciones

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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de shlobj_core.h (incluya Shlobj.h, Shlobj_core.h)
biblioteca de Shell32.lib
DLL de Shell32.dll (versión 5.60 o posterior)

Consulte también

SHGetFolderPath