Crear propiedades personalizadas.
Las propiedades usadas en el sistema de propiedades de Windows Vista y versiones posteriores se declaran en esquemas de propiedades. Estos esquemas de propiedad se definen en archivos XML y describen varios aspectos de una propiedad, incluido su tipo (incluida la información sobre su tipo primitivo y si es multivalor), cómo se puede mostrar en la interfaz de usuario de Windows, qué tipo de etiquetas (cadenas de edición fáciles de usar) se van a usar con él y cómo se almacena en caché en el almacén de búsqueda para un acceso más rápido. Las propiedades se identifican mediante su nombre canónico o su clave de propiedad (PKEY).
Un nombre canónico es el nombre descriptivo del lector de la propiedad y usa una convención de espacio de nombres similar a la que se usa en Microsoft .NET. Para las propiedades definidas por el sistema (las que se incluyen con Windows), la convención es System.GroupName.PropertyName
. Tenga en cuenta que el esquema de mayúsculas y minúsculas Pascal al principio de cada palabra se usa en estos nombres. Los nombres canónicos se usan en varios lugares, incluidas las listas de propiedades y los nombres de columna en la caché de propiedades. Por lo tanto, se usan en consultas Lenguaje de consulta estructurado (SQL) para recuperar un valor de propiedad.
PKEY es un par de valores que constan de un GUID y un DWORD, denominado formatID y propID respectivamente. Se representa mediante una estructura PROPERTYKEY . La mayoría de las API del sistema de propiedades aceptan estas claves de propiedad. El Kit de desarrollo de software (SDK) de Windows incluye el archivo de encabezado Propkey.h que incluye una definición de macro de cada una de las System
claves de propiedad con la convención de PKEY_GroupName_PropertyName
. Por ejemplo, PKEY_Photo_DateTaken
es la clave de propiedad de la propiedad con el nombre System.Photo.DateTaken
canónico . Los valores de propiedad se almacenan en forma de una estructura PROPVARIANT , que es una extensión de los tipos OLE VARIANT.
Esta sección contiene el tema siguiente, que es integral para crear propiedades personalizadas:
Nota:
Debido a posibles dificultades que puede tener el indexador al consumir el esquema del sistema de propiedades, es fundamental definir los atributos cuidadosa y estratégicamente para la primera versión del esquema. Los cambios realizados en los atributos (tipo, ancho de columna, indizable) no se reflejarán en la base de datos una vez registrado un esquema. Las únicas formas de que estos cambios se reconozcan después de que el esquema se haya registrado una vez en un sistema sería recompilar el índice y, a continuación, registrar el nuevo esquema, o registrar el esquema y, a continuación, crear una nueva propiedad para cada versión posterior; por ejemplo PKEY_GroupName_PropertyNameV2
, , PKEY_GroupName_PropertyNameV3
y así sucesivamente). No se recomienda crear nuevas propiedades de esta manera, ya que varias columnas extrañas pueden afectar al rendimiento del sistema.
Temas relacionados