Compartir a través de


estructura de KNOWNFOLDER_DEFINITION (shobjidl_core.h)

Define los detalles de una carpeta conocida.

Sintaxis

typedef struct KNOWNFOLDER_DEFINITION {
  KF_CATEGORY         category;
  LPWSTR              pszName;
  LPWSTR              pszDescription;
  KNOWNFOLDERID       fidParent;
  LPWSTR              pszRelativePath;
  LPWSTR              pszParsingName;
  LPWSTR              pszTooltip;
  LPWSTR              pszLocalizedName;
  LPWSTR              pszIcon;
  LPWSTR              pszSecurity;
  DWORD               dwAttributes;
  KF_DEFINITION_FLAGS kfdFlags;
  FOLDERTYPEID        ftidType;
} KNOWNFOLDER_DEFINITION;

Miembros

category

Tipo: KF_CATEGORY

Valor único de las constantes KF_CATEGORY que clasifica la carpeta como virtual, fija, común o por usuario.

pszName

Tipo: LPWSTR

Puntero al nombre canónico no localizado de la carpeta conocida, almacenada como una cadena Unicode terminada en null. Si esta carpeta es una carpeta común o por usuario, este valor también se usa como nombre de valor de la configuración del Registro "Carpetas de Shell de usuario". Este nombre está pensado para ser un nombre único y legible. Se recomienda que terceros sigan el formato Company.Application.Name. El nombre proporcionado aquí no debe confundirse con el nombre para mostrar.

pszDescription

Tipo: LPWSTR

Puntero a una breve descripción de la carpeta conocida, almacenada como una cadena Unicode terminada en null. Esta descripción debe incluir el propósito y el uso de la carpeta.

fidParent

Tipo: KNOWNFOLDERID

Un valor KNOWNFOLDERID que asigna un nombre a otra carpeta conocida para que actúe como carpeta primaria. Solo se aplica a carpetas comunes y por usuario. Este valor se usa junto con pszRelativePath. Consulte Comentarios para obtener más detalles.

Este valor es opcional si no se proporciona ningún valor para pszRelativePath.

pszRelativePath

Tipo: LPWSTR

Opcional. Puntero a una ruta de acceso relativa a la carpeta primaria especificada en fidParent. Se trata de una cadena Unicode terminada en null, hace referencia a la ruta de acceso del sistema de archivos físico y no se localiza. Solo se aplica a carpetas comunes y por usuario. Consulte Comentarios para obtener más detalles.

pszParsingName

Tipo: LPWSTR

Puntero a la ruta de acceso de la carpeta del espacio de nombres shell de la carpeta, almacenada como una cadena Unicode terminada en null. Solo se aplica a carpetas virtuales. Por ejemplo, Control Panel tiene un nombre de análisis de ::%CLSID_MyComputer%::%CLSID_ControlPanel%.

pszTooltip

Tipo: LPWSTR

Opcional. Puntero al recurso de información sobre herramientas predeterminado que se usa para esta carpeta conocida cuando se crea. Se trata de una cadena Unicode terminada en null con este formato:

Nombre del módulo, identificador de recurso

Por ejemplo, @%_SYS_MOD_PATH%,-12688 es la información sobre herramientas para Imágenes comunes. Cuando se crea la carpeta, esta cadena se almacena en la copia de esa carpeta de Desktop.ini. Más adelante, otras API de Shell pueden cambiarla. Este recurso se puede localizar.

Esta información no es necesaria para las carpetas virtuales.

pszLocalizedName

Tipo: LPWSTR

Opcional. Puntero al recurso de nombre localizado predeterminado que se usa cuando se crea la carpeta. Se trata de una cadena Unicode terminada en null con este formato:

Nombre del módulo, identificador de recurso

Cuando se crea la carpeta, esta cadena se almacena en la copia de esa carpeta de Desktop.ini. Más adelante, otras API de Shell pueden cambiarla.

Esta información no es necesaria para las carpetas virtuales.

pszIcon

Tipo: LPWSTR

Opcional. Puntero al recurso de icono predeterminado que se usa cuando se crea la carpeta. Se trata de una cadena Unicode terminada en null con este formato:

Nombre del módulo, identificador de recurso

Cuando se crea la carpeta, esta cadena se almacena en la copia de esa carpeta de Desktop.ini. Más adelante, otras API de Shell pueden cambiarla.

Esta información no es necesaria para las carpetas virtuales.

pszSecurity

Tipo: LPWSTR

Opcional. Puntero a una cadena de formato del lenguaje de definición de descriptores de seguridad. Se trata de una cadena Unicode terminada en null que describe el descriptor de seguridad predeterminado que recibe la carpeta cuando se crea. Si este parámetro es NULL, la nueva carpeta hereda el descriptor de seguridad de su elemento primario. Esto es especialmente útil para las carpetas comunes a las que acceden todos los usuarios.

dwAttributes

Tipo: DWORD

Opcional. Atributos predeterminados del sistema de archivos proporcionados a la carpeta cuando se crea. Por ejemplo, el archivo podría estar oculto y de solo lectura (FILE_ATTRIBUTE_HIDDEN y FILE_ATTRIBUTE_READONLY). Para obtener una lista completa de los valores posibles, consulte el parámetro dwFlagsAndAttributes de la función CreateFile . Si no es necesario, establézcalo en -1.

kfdFlags

Tipo: KF_DEFINITION_FLAGS

Opcional. Uno de los valores de la enumeración KF_DEFINITION_FLAGS que le permite restringir el redireccionamiento, permitir itinerancia de PC a PC y controlar el momento en que se crea la carpeta conocida. Si no es necesario, establézcalo en 0.

ftidType

Tipo: FOLDERTYPEID

Uno de los valores FOLDERTYPEID que identifica el tipo de carpeta conocido en función de su contenido (como documentos, música o fotografías). Este valor es un GUID.

Comentarios

Los valores fidParent y pszRelativePath funcionan juntos. Por ejemplo, supongamos que va a definir una carpeta denominada MyNewFolder y desea crear esa carpeta como ...< Username>\AppData\Local\MyApp\MyNewFolder. Proporcione FOLDERID_LocalAppData en fidParent para representar ...< Username>\AppData\Local. Proporcione "\MyApp\MyNewFolder" en pszRelativePath.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado shobjidl_core.h (incluya Shobjidl.h)

Consulte también

IKnownFolder::GetFolderDefinition

IKnownFolderManager::RegisterFolder

Ejemplo de carpetas conocidas