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


структура 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. Если эта папка является общей папкой или папкой для отдельных пользователей, это значение также используется в качестве имени значения параметров реестра "Папки пользовательской оболочки". Это имя должно быть уникальным, понятным для человека именем. Сторонним организациям рекомендуется использовать формат Company.Application.Name. Указанное здесь имя не следует путать с отображаемым именем.

pszDescription

Тип: LPWSTR

Указатель на краткое описание известной папки, хранящейся в виде строки Юникода, заканчивающейся null. Это описание должно включать назначение и использование папки.

fidParent

Тип: KNOWNFOLDERID

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

Это значение является необязательным, если для pszRelativePath не указано значение.

pszRelativePath

Тип: LPWSTR

Необязательный элемент. Указатель на путь относительно родительской папки, указанной в fidParent. Это строка Юникода со значением NULL, которая ссылается на путь к физической файловой системе и не локализуется. Применяется только к общим папкам и папкам для отдельных пользователей. Дополнительные сведения см. в разделе Примечания .

pszParsingName

Тип: LPWSTR

Указатель на путь к папке пространства имен оболочки для папки, хранящейся в виде строки Юникода, завершаемой null. Применяется только к виртуальным папкам. Например, Control Panel имеет имя ::%CLSID_MyComputer%::%CLSID_ControlPanel%синтаксического анализа .

pszTooltip

Тип: LPWSTR

Необязательный элемент. Указатель на ресурс подсказки по умолчанию, используемый для этой известной папки при ее создании. Это строка Юникода, заканчивающаяся null в следующем формате:

Имя модуля, идентификатор ресурса

Например, @%_SYS_MOD_PATH%,-12688 является подсказкой для общих рисунков. При создании папки эта строка сохраняется в копии Desktop.ini этой папки. Позже его можно изменить с помощью других API оболочки. Этот ресурс может быть локализован.

Эти сведения не требуются для виртуальных папок.

pszLocalizedName

Тип: LPWSTR

Необязательный элемент. Указатель на ресурс локализованного имени по умолчанию, используемого при создании папки. Это строка Юникода, заканчивающаяся null в следующем формате:

Имя модуля, идентификатор ресурса

При создании папки эта строка сохраняется в копии Desktop.ini этой папки. Позже его можно изменить с помощью других API оболочки.

Эти сведения не требуются для виртуальных папок.

pszIcon

Тип: LPWSTR

Необязательный элемент. Указатель на ресурс значка по умолчанию, используемый при создании папки. Это строка Юникода, заканчивающаяся null в следующем формате:

Имя модуля, идентификатор ресурса

При создании папки эта строка сохраняется в копии Desktop.ini этой папки. Позже его можно изменить с помощью других API оболочки.

Эти сведения не требуются для виртуальных папок.

pszSecurity

Тип: LPWSTR

Необязательный элемент. Указатель на строку формата языка определения дескриптора безопасности . Это строка Юникода со значением NULL, которая описывает дескриптор безопасности по умолчанию, который получает папка при ее создании. Если этот параметр имеет значение NULL, новая папка наследует дескриптор безопасности своего родительского элемента. Это особенно полезно для общих папок, к которым обращаются все пользователи.

dwAttributes

Тип: DWORD

Необязательный элемент. Атрибуты файловой системы по умолчанию, предоставленные папке при ее создании. Например, файл может быть скрыт и доступен только для чтения (FILE_ATTRIBUTE_HIDDEN и FILE_ATTRIBUTE_READONLY). Полный список возможных значений см. в параметре dwFlagsAndAttributes функции CreateFile . Если это не требуется, задайте значение -1.

kfdFlags

Тип: KF_DEFINITION_FLAGS

Необязательный элемент. Одно из дополнительных значений перечисления KF_DEFINITION_FLAGS , которые позволяют ограничить перенаправление, разрешить перемещение между компьютерами и управлять временем создания известной папки. Если это не требуется, задайте значение 0.

ftidType

Тип: FOLDERTYPEID

Одно из значений FOLDERTYPEID , определяющее известный тип папки по ее содержимому (например, документам, музыке или фотографиям). Это значение является GUID.

Комментарии

Значения fidParent и pszRelativePath работают вместе. Например, предположим, что вы определяете папку с именем MyNewFolder и хотите создать эту папку как ...< Имя_пользователя>\AppData\Local\MyApp\MyNewFolder. Укажите FOLDERID_LocalAppData в fidParent для представления ...< Имя_пользователя>\AppData\Local. Укажите \MyApp\MyNewFolder в pszRelativePath.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть shobjidl_core.h (включая Shobjidl.h)

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

IKnownFolder::GetFolderDefinition

IKnownFolderManager::RegisterFolder

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