Controladores de filtro que se envían con Windows
Microsoft proporciona varios filtros estándar con Windows Search. Los clientes llaman a estos controladores de filtro (que son implementaciones de la interfaz de IFilter) para extraer texto y propiedades de un documento.
Este tema se organiza de la siguiente manera:
- notas de implementación de Windows Search
-
filtros de Windows Search
- controlador de filtros MIME
- controlador de filtros HTML
- del controlador de filtros de documentos de
- controlador de filtro de texto sin formato
- de controlador de filtros binarios o nulos
- recursos adicionales
- temas relacionados
Notas de implementación de Windows Search
En Windows 7 y versiones posteriores, los filtros escritos en código administrado se bloquean explícitamente. Los filtros deben escribirse en código nativo debido a posibles problemas de control de versiones clR con el proceso en el que se ejecutan varios complementos.
Implementación de Windows 7 y 10
En Windows 7 y versiones posteriores, hay un nuevo comportamiento que se produce al registrar un controlador de filtro, un controlador de propiedades o una nueva extensión. Cuando se instala un nuevo controlador de propiedades o un controlador de filtro, los archivos con las extensiones correspondientes se vuelven a indexar automáticamente.
En Windows 7 y versiones posteriores, se recomienda instalar un controlador de filtro junto con sus controladores de propiedades correspondientes y registrar el controlador de filtro antes del controlador de propiedades. El registro del controlador de propiedades inicia la reindización inmediata de archivos indizado previamente sin necesidad de reiniciar primero y aprovecha los controladores de filtros registrados previamente para la indexación de contenido.
Si solo se instala un controlador de filtro sin un controlador de propiedades correspondiente, la reindización automática se produce después de reiniciar el servicio de indexación o de reiniciar el sistema.
Para obtener marcas de descripción de propiedades específicas de Windows 7, consulta los siguientes temas de referencia: GETPROPERTYSTOREFLAGS, PROPDESC_COLUMNINDEX_TYPE y PROPDESC_SEARCHINFO_FLAGS.
Implementación de Windows Vista
En Windows Vista y versiones anteriores, la instalación de un IFilter o el controlador de propiedades no inicia una nueva indexación de elementos existentes a menos que un proveedor de software independiente (ISV) llame explícitamente a una recompilación o reindización de direcciones URL coincidentes.
Hay dos diferencias principales entre las aplicaciones heredadas, como Indexing Service y las aplicaciones más recientes, como Windows Search, que debe tener en cuenta al implementar filtros:
En primer lugar, Windows Vista y Windows Search 3.0 y versiones posteriores requieren usar IPersistStream por los siguientes motivos:
- Para garantizar el rendimiento y la compatibilidad futura.
- Para ayudar a aumentar la seguridad. Los filtros implementados con IPersistStream son más seguros porque el contexto en el que se ejecuta el filtro no necesita los derechos para abrir archivos en el disco o a través de la red.
Aunque Windows Search solo usa IPersistStream, también puedes incluir IPersistFile Interface o IPersistStorage Interface implementaciones de tus filtros para la compatibilidad con versiones anteriores.
La segunda diferencia principal es que Windows Vista y Windows Search 3.0 y versiones posteriores tienen un nuevo sistema de propiedades que usa controladores de propiedades para enumerar propiedades de elementos.
Sin embargo, hay ocasiones en las que es necesario implementar un filtro que controle tanto el contenido como las propiedades para:
- Admite implementaciones heredadas de MSSearch.
- Recorrer vínculos.
- Conservar la información del idioma.
- Filtra de forma recursiva los elementos incrustados.
En estas situaciones, necesita una implementación de filtro completa, incluida la método IFilter::GetValue para tener acceso a los valores de propiedad.
Implementación heredada
Como se indicó anteriormente, Windows Vista y Windows Search incluyen un nuevo sistema de propiedades que encapsula las propiedades de un elemento que es independiente del contenido de un elemento. Este sistema de propiedades no existe en versiones anteriores de Microsoft Windows Desktop Search (WDS) 2.x. Si el filtro debe admitir otras aplicaciones como se ha descrito anteriormente, puede que tenga que controlar tanto el contenido como las propiedades.
Para obtener más información sobre el desarrollo de un filtro compatible, consulte los temas siguientes, IFilter (para aplicaciones heredadas)y Desarrollar complementos de filtro (para aplicaciones heredadas).
Filtros de Windows Search
Microsoft proporciona varios filtros estándar con Windows Search. El contenido de IFilter DLL se resume en la tabla siguiente. Al hacer clic en el nombre de un controlador de filtro, se le lleva a la descripción de esa implementación de IFilter.
Controlador de filtros | Archivos filtrados | IFilter DLL |
---|---|---|
controlador de filtros MIME | Extensión multipropósito de correo de Internet (MIME) | mimefilt.dll |
controlador de filtros HTML | HTML 3.0 o versiones anteriores | nlhtml.dll |
del controlador de filtros de documentos de | Microsoft Word, Excel, PowerPoint | offfilt.dll |
controlador de filtro de texto sin formato | Archivos de texto sin formato: IFilter predeterminado | query.dll |
de controlador de filtros binarios o nulos | Archivos binarios: IFilter nulo | query.dll |
Controlador de filtros MIME
El controlador de filtro MIME (en mimefilt.dll) extrae información de texto y propiedad de los archivos con las extensiones .eml, .mht y .mhtml.
Controlador de filtros HTML
El controlador de filtros HTML (en nlhtml.dll) extrae información de texto y propiedad de la clase "htmlfiles" para que Windows Search pueda indexarla. Para obtener una descripción de la asociación entre IFilter y el tipo de archivo, vea "Buscar el archivo DLL de IFilter para un archivo" en Registrar controladores de filtro.
Puede usar la característica de etiqueta META
de documentos HTML para transmitir solicitudes de control especiales a la IFilter de HTML.
META
etiquetas se producen cerca del principio de un archivo HTML dentro de las etiquetas HEAD ... /HEAD
, como se muestra en el ejemplo siguiente.
<head>
<META NAME="DESCRIPTION"
CONTENT="This text appears on the results page as the document's summary.">
</head>
Algunas etiquetas html META
se asignan automáticamente a valores conocidos del conjunto de propiedades y del identificador de propiedad (IDENTIFICADOR de propiedad (PID) para que las consultas de estas propiedades busquen el contenido asignado. Algunos ejemplos se enumeran en la tabla siguiente. Para obtener una lista de las propiedades del sistema que puede usar para los formatos de archivo, consulte System-Defined Propiedades para formatos de archivo personalizados.
Ejemplo de propiedad | Asignado a |
---|---|
meta name="author" content="ruth" | Propiedad author del conjunto de propiedades Información de resumen. |
meta name="subject" content="word processing" | Propiedad subject del conjunto de propiedades Información de resumen. |
meta name="keywords" content="fonts, serif" | Propiedad de palabra clave del conjunto de propiedades Información de resumen. |
meta name="ms.category" content="fiction" | Propiedad category del conjunto de propiedades Información de resumen del documento. |
Algunas características delIFilter de HTMLse muestran en la tabla siguiente.
Controlador de filtro de documentos
El controlador de filtro de documentos (en offilt.dll) filtra los archivos para algunas extensiones de documentos en Microsoft Office. Estos incluyen archivos con las extensiones .doc, .mdb, .ppty .xlt, por ejemplo.
Controlador de filtro de texto sin formato
En el caso de los archivos de texto sin formato, Windows Search usa el controlador de filtro de texto, que filtra las propiedades del sistema (como nombres de archivo) y el contenido de un archivo. Cuando un tipo de archivo no tiene una asociación IFilter en el Registro, Windows Search solo indexa las propiedades de Shell del archivo. Sin embargo, el usuario puede usar el opciones avanzadas de en el panel de control opciones de indexación de para propiedades de índice o propiedades de índice y contenido del archivo.
captura de pantalla de
Si el usuario elige esta opción para un tipo de archivo sin un IFilter asociado, el controlador de filtro de texto se usa para extraer el contenido del archivo. El controlador de filtro de texto no entiende ningún formato de documento; al filtrar el contenido de un archivo, trata el archivo como una secuencia de caracteres. Comprueba si hay una marca de orden de bytes Unicode al principio del archivo.
Controlador de filtro binario o nulo
Cuando se encuentra un archivo binario registrado, se usa el controlador de filtro NULL. El controlador de filtro NULL solo recupera las propiedades del sistema. El contenido de un archivo binario no se filtra. Algunos ejemplos de propiedades del sistema son FileName, LastWriteTime, FileSizey atributos .
Recursos adicionales
- El ejemplo de código IFilterSample, disponible en gitHub, muestra cómo crear una clase base IFilter para implementar la interfazIFilter de.
- Para obtener información general sobre el proceso de indexación, vea The Indexing Process.
- Para obtener información general sobre los tipos de archivo, consulte Tipos de archivo.
- Para consultar atributos de asociación de archivos para un tipo de archivo, vea PerceivedTypes, SystemFileAssociations y Application Registration.
Temas relacionados
desarrollar controladores de filtro
Acerca de los controladores de filtro en windows Search
procedimientos recomendados para crear controladores de filtro en Windows Search
devolver propiedades de un controlador de filtros
Implementar controladores de filtro en Windows Search