Devolver propiedades de un controlador de filtros
Las propiedades se extraen de elementos mediante controladores de propiedades registrados o mediante filtros registrados para tipos de archivo específicos. Un controlador de filtro (una implementación de la interfaz IFilter ) puede interpretar el contenido de un tipo de archivo de cualquier manera.
Este tema se organiza de la siguiente manera:
Filtrado de propiedades
Los procedimientos recomendados para el filtrado de propiedades se enumeran en la tabla siguiente.
Método | Descripción |
---|---|
IFilter::Init | Devuelve la enumeración IFILTER_FLAGS . Si el miembro IFILTER_FLAGS_OLE_PROPERTIES de esta enumeración se establece en uno, Windows Search usa las interfaces IPropertySetStorage e IPropertyStorage para enumerar y obtener acceso a las propiedades de tipo de valor externo. |
IFilter::GetChunk | Devuelve información de un documento en "fragmentos" con tipo de fragmento (texto o valor), nombre y configuración regional. Un fragmento contiene una propiedad de documento. |
IFilter::GetText | Obtiene una propiedad de tipo de texto de un fragmento. |
IFilter::GetValue | Obtiene una propiedad de tipo de valor de un fragmento. |
En la ilustración siguiente se muestra un documento de ejemplo. La propiedad DocTitle
de tipo de valor externo (obtenida mediante métodos de las interfaces IPropertySetStorage e IPropertyStorage ) y la propiedad Book
de tipo de valor interno (obtenida como resultado de una implementación de IFilter personalizada) describe el documento en su conjunto. Las propiedades Contents
de tipo de texto y Chapter
describen el contenido del documento. Al procesar este documento, el controlador de filtro (una implementación de la interfaz IFilter ) identifica y extrae estas propiedades.
Limitaciones de tamaño de propiedad
Hay dos limitaciones potenciales para el tamaño de propiedad:
- Tamaño máximo de datos que Windows Search acepta por archivo.
- Tamaño máximo por propiedad tal y como se define en el archivo de descripción de la propiedad.
Actualmente, Windows Search no usa el tamaño de propiedad definido al calcular la cantidad de datos que acepta de un elemento. En su lugar, el límite que usa Windows Search es el producto del tamaño del archivo y el MaxGrowFactor
(tamaño de archivo N * MaxGrowFactor) leído del registro. El valor predeterminado MaxGrowFactor
es cuatro.
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Gathering Manager
MaxGrowFactor
Por lo tanto, si el tipo de archivo tiende a ser pequeño en tamaño total, pero tiene propiedades más grandes, Windows Search puede no aceptar todos los datos de propiedad que desea emitir. Sin embargo, puede aumentar para MaxGrowFactor
satisfacer sus necesidades.
Recursos adicionales
- El ejemplo de código IFilterSample , disponible en GitHub, muestra cómo crear una clase base IFilter para implementar la interfaz IFilter .
- Para obtener información general sobre el proceso de indexación, consulte El proceso de indexación.
- Para obtener información general sobre los tipos de archivo, consulte Tipos de archivo.
- Para consultar los atributos de asociación de archivos de un tipo de archivo, vea PerceivedTypes, SystemFileAssociations y Application Registration.
- Para obtener información general sobre las propiedades y los controladores de propiedades, y una lista de propiedades del sistema que puedes usar para los formatos de archivo, consulta Developing Property Handlers for Windows Search.
Temas relacionados
Desarrollo de controladores de filtros
Acerca de los controladores de filtro en Windows Search
Procedimientos recomendados para crear controladores de filtro en Windows Search
Controladores de filtro que se envían con Windows
Implementación de controladores de filtro en Windows Search