Общие сведения о обработчиках свойств
Свойства представлены идентификаторами, известными как идентификаторы свойств (PID). Каждое свойство ДОЛЖНО иметь глобальный уникальный идентификатор (GUID). Этот идентификатор состоит из GUID, представляющего коллекцию свойств, называемых набором свойств, а также строкой или 32-разрядным целым числом для идентификации свойства в наборе. Если используется целочисленная форма идентификатора, значения 0x00000000, 0xFFFFFFFF и 0xFFFFFFFE считаются недопустимыми. Поставщики могут гарантировать, что их свойства определяются уникальным образом, помещая их в набор свойств, определенных собственными идентификаторами GUID.
Внимание
Важно тщательно и стратегически определить свойства для первого выпуска схемы. Любые изменения настраиваемых свойств (например, ширины столбца или типа свойств) не будут отражены в базе данных после регистрации схемы. Единственный способ распознать эти изменения после регистрации схемы один раз в системе будет либо перестроить индекс, а затем зарегистрировать новую схему, либо зарегистрировать схему, а затем создать новое свойство (которое состоит из канонического имени и PKEY) для каждого последующего выпуска; например PKEY_GroupName_PropertyNameV2
, и PKEY_GroupName_PropertyNameV3
т. д.). Мы не рекомендуем создавать новые свойства таким образом, так как несколько лишних столбцов могут повлиять на производительность системы.
Этот раздел организован следующим образом:
Метаданные
В Windows Vista и более поздних версиях новая система свойств на основе метаданных является централизованной для организации таких элементов, как файлы, электронная почта и контакты. В этой новой системе свойств элементы можно искать на основе их метаданных, и пользователи могут читать или записывать эти метаданные. Метаданные в этой системе представлены расширяемым набором свойств , реализованных как пары name/value.
В Windows Vista и более поздних версиях обширный набор свойств охватывает особенности таких элементов, как фотографии, музыка, документы, сообщения, контакты и файлы. Независимые поставщики программного обеспечения (НЕЗАВИСИМЫе поставщики программного обеспечения) могут вводить собственные свойства для платформы, если существующее свойство не соответствует их потребностям.
Открытие метаданных
Система свойств в Windows Vista и более поздних версиях — это открытая система метаданных. Формат файла сохраняет любое свойство, назначенное ему, и предоставляет это значение при запросе независимо от релевантности или значения. Это позволяет сторонним разработчикам присоединять дополнительные свойства к файлу, не требуя изменения в обработчике свойств, связанного с ним. Открытые метаданные — это мощная концепция. Дополнительные сведения о поддержке открытых метаданных для формата файлов на основе XML см. в разделе "Поддержка открытых метаданных" в обработчиках свойств инициализации свойств.
Примечание.
Обработчики свойств всегда связаны с определенными типами файлов; Таким образом, если формат файла содержит свойства, требующие пользовательского обработчика свойств, всегда следует зарегистрировать уникальное расширение имени файла для каждого формата файла.
Сведения о обработчиках свойств
В Windows Vista и более поздних версиях Windows имеет расширяемую систему свойств для хранения и получения метаданных в файлах и элементах данных, к которым вы обращаетесь. Обозреватель Windows и система поиска Windows вместе с другими приложениями используют обработчики свойств для чтения и изменения этих метаданных. Если вы являетесь разработчиком, которому принадлежит определенный тип файла, необходимо зарегистрировать обработчик свойств, чтобы предоставить системе свойств доступ к метаданным в файлах. В некоторых случаях можно использовать существующий обработчик свойств, который может читать и понимать формат файла и его свойства; В других случаях может потребоваться разработать новый обработчик свойств для типа файла.
Первым шагом в написании обработчика свойств является рассмотрение свойств, поддерживаемых типом файла. Значения свойств хранятся в потоке файлов, в первую очередь для обеспечения транспорта. Если значения свойств хранятся в самом файле, так как они находятся в этой системе, пользователь может скопировать файл на другой компьютер, USB-накопитель флэш-памяти или другую файловую систему или отправить файл в виде вложения электронной почты, свойства перемещаются вместе с файлом и никогда не будут синхронизированы или потеряны. Таким образом, если формат файла поддерживает хранение дополнительных сведений, рекомендуется хранить свойства в самом файле.
Следующий шаг — определить, какие свойства следует предоставить файлу. Вы можете первоначально подумать, что ограниченный набор свойств достаточно. Звуковой файл может поддерживать только свойства, связанные с звуком, и завершить его. Однако этот звуковой файл может быть записью сессии суда права, архивированную юридической фирмой. В этом случае юридическая фирма, безусловно, хотела бы связать другие не звуковые свойства с этим файлом, например номер дела. Поставщик формата аудиофайла не может определить все сценарии, в которых их формат когда-либо будет использоваться. Поэтому следует рассмотреть возможность включения одеялого хранения любого произвольного свойства, поддерживаемого системой свойств.
Устаревшая технология
Вторичная технология потоковой передачи Microsoft Windows NT (NTFS) была разработана для поддержки сохранения дополнительных сведений с файлом через альтернативный поток, заданный на уровне файловой системы. Может возникнуть вопрос, почему эти вторичные потоки не используются в качестве основного метода для хранения свойств, особенно с поддержкой открытых метаданных. Основная причина заключается в переносимости этих дополнительных сведений. К сожалению, эти альтернативные потоки удаляются во многих сценариях, включая поддержку кэширования на стороне клиента (CSC), отправку файлов в виде вложений и копирование файлов в хранилище, отличном от NTFS.
Вторичные потоки не предоставляют надежное решение, в котором свойства гарантированно передаются с файлом, и поэтому система свойств Windows Vista не предоставляет встроенный механизм, который использует вторичные потоки NTFS для хранения свойств. Поставщики программного обеспечения также не рекомендуется создавать обработчики свойств, которые используют вторичные потоки для хранения свойств. Конечно, существуют сценарии, в которых подходят вторичные потоки NTFS, особенно если приложения могут гарантировать, что файл, с которым они имеют дело, всегда хранится в томе NTFS и не будет перемещаться в результате взаимодействия с конечным пользователем.
См. также