Carpetas conocidas

Windows Vista presenta nuevos escenarios de almacenamiento y un nuevo espacio de nombres de perfil de usuario. Para abordar estos nuevos factores, se ha reemplazado el sistema anterior de hacer referencia a carpetas estándar por un valor CSIDL . A partir de Windows Vista, se hace referencia a esas carpetas mediante un nuevo conjunto de valores GUID denominados identificadores de carpeta conocidos.

El sistema de carpetas conocidas proporciona estas ventajas:

  • Los proveedores de software independientes (ISV) pueden ampliar el conjunto de identificadores de carpeta conocidos con sus propios. Pueden definir carpetas, darles identificadores y registrarlos con el sistema. No se pudieron ampliar los valores CSIDL.
  • Se pueden enumerar todas las carpetas conocidas de un sistema. Ninguna API proporcionó esta funcionalidad para los valores CSIDL. Consulte IKnownFolderManager::GetFolderIds para obtener más información.
  • Una carpeta conocida agregada por un ISV puede agregar propiedades personalizadas que le permitan explicar su propósito y su uso previsto.
  • Muchas carpetas conocidas se pueden redirigir a nuevas ubicaciones, incluidas las ubicaciones de red. En el sistema CSIDL, solo se puede redirigir la carpeta Mis documentos .
  • Las carpetas conocidas pueden tener controladores personalizados para su uso durante la creación o eliminación.

El sistema CSIDL y las API que usan valores CSIDL siguen siendo compatibles. Sin embargo, no se recomienda usarlos en ningún nuevo desarrollo.

En los temas siguientes se describen los detalles del sistema de carpetas conocidas.

En las páginas de referencia siguientes se explican las funciones carpetas conocidas de Win32, que se pueden usar para recuperar la ubicación de Carpetas conocidas o redirigirlas a una nueva ubicación. Estas funciones reemplazan a las funciones anteriores de Win32. Las nuevas funciones se proporcionan para proporcionar un comportamiento equivalente a las funciones antiguas, pero cada función nueva también se duplica mediante una API de modelo de objetos componentes (COM).

Nueva función Reemplaza Equivalente COM
SHGetKnownFolderPath SHGetFolderPath IKnownFolder::GetPath
SHGetKnownFolderIDList SHGetFolderLocation IKnownFolder::GetIDList
SHSetKnownFolderPath SHSetFolderPath IKnownFolder::SetPath

 

En las siguientes páginas de referencia se explican las API de carpetas conocidas COM, que proporcionan toda la funcionalidad de las API de Win32 enumeradas anteriormente, además de agregar la capacidad de enumerar todas las carpetas conocidas, acceder a las propiedades de carpetas conocidas y ampliar el conjunto estándar de carpetas conocidas.

Un ejemplo de C++ que muestra las API de carpeta conocidas se incluye en el Kit de desarrollo de software (SDK) de Windows. Una vez instalado Windows SDK en el equipo, el ejemplo se puede encontrar en %ProgramFiles%\Microsoft SDKs\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\KnownFolders.

Ejemplo de carpetas conocidas