структура 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