Compartir a través de


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)

Consulte también

SHGetFolderPath