Основные сведения об обработчиках свойств

Свойства представлены идентификаторами, известными как идентификаторы свойств (PID). Каждое свойство должно иметь глобальный уникальный идентификатор (GUID). Этот идентификатор состоит из GUID, представляющего коллекцию свойств, называемых набором свойств, а также строкой или 32-разрядным целым числом для идентификации свойства в наборе. Если используется целочисленная форма идентификатора, значения 0x00000000, 0xFFFFFFFF и 0xFFFFFFFE считаются недопустимыми. Поставщики могут гарантировать, что их свойства определяются уникальным образом, поместив их в набор свойств, определенный собственными идентификаторами GUID.

Важно!

Очень важно тщательно и стратегически определять свойства для первого выпуска схемы. Любые изменения настраиваемых свойств (например, ширины столбца или типа свойств) не будут отражены в базе данных после регистрации схемы. Единственный способ распознать эти изменения после регистрации схемы один раз в системе — перестроить индекс, а затем зарегистрировать новую схему, либо зарегистрировать схему, а затем создать новое свойство (состоящее из канонического имени и PKEY) для каждого дочернего выпуска; например PKEY_GroupName_PropertyNameV2, PKEY_GroupName_PropertyNameV3и т. д.). Мы не рекомендуем таким образом создавать новые свойства, так как несколько лишних столбцов могут повлиять на производительность системы.

 

Этот раздел организован следующим образом:

Метаданные

В Windows Vista и более поздних версиях новая система свойств, основанная на метаданных, является централизованной для организации таких элементов, как файлы, электронная почта и контакты. В этой новой системе свойств элементы можно искать по их метаданным, а пользователи могут считывать или записывать эти метаданные. Метаданные в этой системе представлены расширяемым набором свойств , реализованных в виде пар "имя-значение".

В Windows Vista и более поздних версий обширный набор свойств охватывает особенности таких элементов, как фотографии, музыка, документы, сообщения, контакты и файлы. Независимые поставщики программного обеспечения (НЕЗАВИСИМЫе поставщики программного обеспечения) могут вводить собственные свойства для платформы, если существующее свойство не соответствует их потребностям.

Открытие метаданных

Система свойств в Windows Vista и более поздних версий — это открытая система метаданных. Формат файла сохраняет любое свойство, назначенное ему, и предоставляет это значение при запросе независимо от релевантности или значения. Это позволяет сторонним разработчикам присоединять дополнительные свойства к файлу, не требуя изменения связанного с ним обработчика свойств. Открытые метаданные — это эффективная концепция. Дополнительные сведения о поддержке открытых метаданных для формата XML-файла см. в разделе "Поддержка открытых метаданных" в обработчиках инициализации свойств.

Примечание

Обработчики свойств всегда связаны с определенными типами файлов; Таким образом, если формат файла содержит свойства, для которых требуется настраиваемый обработчик свойств, следует всегда регистрировать уникальное расширение имени файла для каждого формата файла.

 

Сведения об обработчиках свойств

В Windows Vista и более поздних версиях Windows имеет расширяемую систему свойств для хранения и извлечения метаданных в файлах и элементах данных, к которым вы обращаетесь. Windows Explorer и система поиска Windows вместе с другими приложениями используют обработчики свойств для чтения и изменения этих метаданных. Если вы являетесь разработчиком, которому принадлежит определенный тип файла, необходимо зарегистрировать обработчик свойств, чтобы предоставить системе свойств доступ к метаданным в файлах. В некоторых случаях можно использовать существующий обработчик свойств, который может читать и понимать формат файла и его свойства; В других случаях может потребоваться разработать новый обработчик свойств для типа файла.

Первым шагом в написании обработчика свойств является рассмотрение свойств, поддерживаемых типом файла. Значения свойств хранятся в файловом потоке, в первую очередь для обеспечения переносимости. Если значения свойств хранятся в самом файле, так как они находятся в этой системе, пользователь может скопировать файл на другой компьютер, USB-накопитель флэш-памяти или другую файловую систему или отправить файл в виде вложения электронной почты, свойства перемещаются вместе с файлом и никогда не будут синхронизированы или потеряны. Таким образом, если формат файла поддерживает хранение дополнительных сведений, рекомендуется хранить свойства в самом файле.

Следующим шагом является определение свойств, которые должен предоставить файл. Изначально можно подумать, что ограниченный набор свойств является адекватным. Звуковой файл может поддерживать только свойства, связанные со звуком, и завершить его. Однако этот аудиофайл может быть записью сессии суда по праву, архивированную юридической фирмой. В этом случае юридическая фирма, безусловно, хотела бы связать с этим файлом другие не звуковые свойства, например номер дела. Поставщик формата аудиофайла не может определить все сценарии, в которых их формат будет использоваться. Поэтому они должны рассмотреть возможность включения одеялого хранения любого произвольного свойства, поддерживаемого системой свойств.

Устаревшие технологии

Корпорация Майкрософт Windows NT технологии дополнительного потока файловой системы (NTFS) была разработана для поддержки сохранения дополнительных сведений с файлом через альтернативный поток, установленный на уровне файловой системы. Может возникнуть вопрос, почему эти вторичные потоки не используются в качестве основного метода для хранения свойств, особенно с поддержкой открытых метаданных. Основной причиной является переносимость этой дополнительной информации. К сожалению, эти альтернативные потоки удаляются во многих сценариях, включая поддержку кэширования на стороне клиента (CSC), отправку файлов в виде вложений и копирование файлов в хранилище, отличное от NTFS.

Вторичные потоки не предоставляют надежное решение, в котором свойства гарантированно передаются вместе с файлом, и, следовательно, система свойств Windows Vista не предоставляет встроенный механизм, который использует вторичные потоки NTFS для хранения свойств. Независимым поставщикам программного обеспечения также настоятельно не рекомендуется создавать обработчики свойств, использующие вторичные потоки для хранения свойств. Конечно, существуют сценарии, в которых подходят вторичные потоки NTFS, особенно если приложения могут гарантировать, что файл, с которыми они работают, всегда хранится в томе NTFS и не будет перемещаться в результате взаимодействия с пользователем.

Использование имен типов

Использование списков свойств

Инициализация обработчиков свойств

Регистрация и распространение обработчиков свойств

Рекомендации и вопросы и ответы по обработчику свойств