IKnownFolderManager::RegisterFolder 方法 (shobjidl_core.h)

将新的已知文件夹添加到注册表。 独立软件供应商 (ISV) 特别使用,这些供应商将自己的文件夹之一添加到已知文件夹系统。

语法

HRESULT RegisterFolder(
  [in] REFKNOWNFOLDERID             rfid,
  [in] const KNOWNFOLDER_DEFINITION *pKFD
);

参数

[in] rfid

类型: REFKNOWNFOLDERID

表示已知文件夹的 GUID

[in] pKFD

类型: const KNOWNFOLDER_DEFINITION*

指向提供新文件夹详细信息的有效 KNOWNFOLDER_DEFINITION 结构的指针。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

注意 此方法更新 HKEY_LOCAL_MACHINE ,因此需要在管理员的上下文中运行。 安装程序需要管理员权限才能注册或注销已知文件夹。
 
IKnownFolderManager::RegisterFolder 尝试验证新的 KNOWNFOLDERID 未引用现有 KNOWNFOLDERID 已指向的文件系统路径。 如果发现新的 KNOWNFOLDERID 执行此操作,此方法将失败。

同一文件系统路径的多个 KNOWNFOLDERID 值可能会导致若干问题,例如 Desktop.ini 文件中的冲突,导致混淆要为文件夹显示的语言或属性。 多个 KNOWNFOLDERID 值还会导致地址栏路径或 Windows 资源管理器中文件夹显示的任务混淆。

可以禁止显示已知文件夹属性窗口的“自定义”页。 为此,请设置以下注册表REG_DWORD值:

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  FolderDescriptions
                     Folder GUID
                        PropertyBag
                           NoCustomize = 0x00000001 (1)

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll

另请参阅

IKnownFolderManager

IKnownFolderManager::UnregisterFolder

已知文件夹示例