KNOWNFOLDER_DEFINITION 结构 (shobjidl_core.h)
定义已知文件夹的具体内容。
语法
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;
成员
category
类型: KF_CATEGORY
KF_CATEGORY常量中的单个值,用于将文件夹分类为虚拟、固定、通用或每用户。
pszName
类型: LPWSTR
指向已知文件夹的非本地化规范名称的指针,存储为以 null 结尾的 Unicode 字符串。 如果此文件夹是通用或每用户文件夹,则此值也用作“User Shell 文件夹”注册表设置的值名称。 此名称是一个唯一的可读名称。 建议第三方遵循 格式 Company.Application.Name
。 此处提供的名称不应与显示名称混淆。
pszDescription
类型: LPWSTR
指向已知文件夹的简短说明的指针,存储为以 null 结尾的 Unicode 字符串。 此说明应包括文件夹的用途和用法。
fidParent
类型: KNOWNFOLDERID
一个 KNOWNFOLDERID 值,该值将另一个已知文件夹命名为父文件夹。 仅适用于通用文件夹和每用户文件夹。 此值与 pszRelativePath 一起使用。 有关更多详细信息 ,请参阅备注 。
如果未为 pszRelativePath 提供任何值,则此值是可选的。
pszRelativePath
类型: LPWSTR
可选。 指向相对于 fidParent 中指定的父文件夹的路径的指针。 这是一个以 null 结尾的 Unicode 字符串,引用物理文件系统路径,未本地化。 仅适用于通用文件夹和每用户文件夹。 有关更多详细信息 ,请参阅备注 。
pszParsingName
类型: LPWSTR
指向文件夹的 Shell 命名空间文件夹路径的指针,存储为以 null 结尾的 Unicode 字符串。 仅适用于虚拟文件夹。 例如, Control Panel
具有分析名称 ::%CLSID_MyComputer%::%CLSID_ControlPanel%
。
pszTooltip
类型: LPWSTR
可选。 指向创建此已知文件夹时用于它的默认工具提示资源的指针。 这是以 null 结尾的 Unicode 字符串,格式如下:
模块名称、资源 ID
例如, @%_SYS_MOD_PATH%,-12688
是常见图片的工具提示。 创建文件夹时,此字符串将存储在该文件夹的 Desktop.ini 副本中。 稍后其他 Shell API 可以对其进行更改。 此资源可能已本地化。
虚拟文件夹不需要此信息。
pszLocalizedName
类型: LPWSTR
可选。 指向创建文件夹时使用的默认本地化名称资源的指针。 这是以 null 结尾的 Unicode 字符串,格式如下:
模块名称、资源 ID
创建文件夹时,此字符串将存储在该文件夹的 Desktop.ini 副本中。 稍后其他 Shell API 可以对其进行更改。
虚拟文件夹不需要此信息。
pszIcon
类型: LPWSTR
可选。 指向创建文件夹时使用的默认图标资源的指针。 这是以 null 结尾的 Unicode 字符串,格式如下:
模块名称、资源 ID
创建文件夹时,此字符串将存储在该文件夹的 Desktop.ini 副本中。 稍后其他 Shell API 可以对其进行更改。
虚拟文件夹不需要此信息。
pszSecurity
类型: LPWSTR
可选。 指向 安全描述符定义语言 格式字符串的指针。 这是一个以 null 结尾的 Unicode 字符串,用于描述文件夹在创建时接收的默认安全描述符。 如果此参数为 NULL,则新文件夹将继承其父文件夹的安全描述符。 这对于所有用户都可访问的常用文件夹特别有用。
dwAttributes
类型:DWORD
可选。 创建文件夹时为其提供的默认文件系统属性。 例如,该文件可以隐藏和只读 (FILE_ATTRIBUTE_HIDDEN 和FILE_ATTRIBUTE_READONLY) 。 有关可能值的完整列表,请参阅 CreateFile 函数的 dwFlagsAndAttributes 参数。 如果不需要,则设置为 -1。
kfdFlags
可选。 KF_DEFINITION_FLAGS枚举中的更多值之一,可用于限制重定向、允许电脑到电脑漫游以及控制创建已知文件夹的时间。 如果不需要,则设置为 0。
ftidType
类型: FOLDERTYPEID
一个 FOLDERTYPEID 值,根据已知文件夹类型的内容 ((如文档、音乐或照片) )标识该文件夹类型。 此值是 GUID。
注解
fidParent 和 pszRelativePath 值协同工作。 例如,假设你要定义一个名为 MyNewFolder 的文件夹,并且想要将该文件夹创建为 ...<Username>\AppData\Local\MyApp\MyNewFolder。 在 fidParent 中提供FOLDERID_LocalAppData来表示 ...<Username>\AppData\Local。 在 pszRelativePath 中提供“\MyApp\MyNewFolder”。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | shobjidl_core.h (包括 Shobjidl.h) |
另请参阅
IKnownFolder::GetFolderDefinition