Поделиться через


Метод IKnownFolderManager::RegisterFolder (shobjidl_core.h)

Добавляет новую известную папку в реестр. Используется, в частности, независимыми поставщиками программного обеспечения , которые добавляют одну из своих собственных папок в известную систему папок.

Синтаксис

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
Header shobjidl_core.h (включая Shobjidl.h)
DLL Shell32.dll

См. также раздел

IKnownFolderManager

IKnownFolderManager::UnregisterFolder

Пример: известные папки