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

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

Важно!

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

 

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

Метаданные

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

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

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

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

Примечание

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

 

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

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

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

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

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

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

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

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

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

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

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

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