Share via


Creación de un conector de búsqueda para un controlador de protocolo

El Explorador de Windows controla la creación de conectores de búsqueda para controladores de protocolo mediante entradas de claves del Registro. A través del Registro, tanto implementadores como terceros pueden permitir que los controladores de protocolo nuevos y heredados participen en Windows 7 Search.

Este tema se organiza de la siguiente manera:

Acerca de los conectores de búsqueda para controladores de protocolo en Windows 7

En Windows 7, en las búsquedas desde el menú Inicio o el Explorador de Windows solo se incluyen archivos de ubicaciones indizadas y elementos del sistema que no son de archivo, como almacenes de datos remotos o elementos del controlador de protocolo que tienen un conector de búsqueda. Además de incluir los elementos del controlador de protocolo en el ámbito de las búsquedas del menú Inicio y shell, el conector de búsqueda habilita el menú Inicio para agrupar los elementos del controlador de protocolo en los resultados del menú Inicio, con la ventaja resultante de que el usuario puede hacer clic en el encabezado del grupo y ver únicamente los resultados del controlador de protocolo. Como alternativa, el usuario puede navegar a la carpeta Búsquedas, abrir el archivo del conector de búsqueda y realizar una búsqueda que incluya solo elementos del controlador de protocolo específico asociado a ese conector de búsqueda.

Cuando un usuario inicia por primera vez una aplicación que registra un controlador de protocolo, el Explorador de Windows genera un archivo de conector de búsqueda (.searchConnector-ms) para el controlador de protocolo en la carpeta Búsquedas del usuario. Las aplicaciones con controladores de protocolo pueden optar por deshabilitar este comportamiento o personalizar el nombre y la descripción del conector de búsqueda del controlador de protocolo.

Nota:

La ubicación de la carpeta Búsquedas del usuario es %userprofile%\Searches o FOLDERID_SavedSearches. El identificador único global (GUID) de FOLDERID_SavedSearches es {7d1d3a04-debb-4115-95cf-2f29da2920da}.

 

El Explorador de Windows controla la creación de conectores de búsqueda para controladores de protocolo mediante las entradas de claves del Registro que se describen en la secciones siguientes:

Nota:

No hay ningún medio de programación para crear un conectores de búsqueda para controladores de protocolo. Deben configurarse a través del Registro.

 

Las claves del Registro y sus valores posibles se describen en la tabla siguiente. Un controlador de protocolo puede rellenar algunas o todas estas claves del Registro en las que el <protocolo> se reemplaza por el nombre real de su protocolo, como MAPI, file o csc, por ejemplo.

Clave del Registro Valores posibles Tipo Comentarios
\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\Version No existe (predeterminado). De lo contrario, es 1 o mayor. REG_DWORD Este valor se usa para detectar cambios en los registros de plantillas de ubicación para las raíces de búsqueda que ya se han procesado. Si no existe, use 0 como valor predeterminado. Como alternativa, aumente la versión para informar al Explorador de Windows de que se debe volver a generar el conector de búsqueda porque se ha instalado una versión más reciente del controlador de protocolo.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\DoNotCreateSearchConnectors No existe (predeterminado). De lo contrario, se establece en 1. REG_DWORD Si no existe, cree un archivo .searchconnector-ms en la carpeta Búsquedas. Si es 1, márquelo como procesado y no haga nada.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\Default\Description Cadena localizable que contiene la descripción del conector de búsqueda. REG_SZ Opcional. Se usa en el elemento Description del archivo .searchconnector-ms.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\Default\Name Cadena localizada para asignar un nombre al conector de búsqueda. Se usa como nombre del archivo .searchconnector-ms. REG_SZ Cada ubicación debe tener un nombre único. En ausencia de este valor, se usará el nombre para mostrar proporcionado por la interfaz IShellFolder del controlador de protocolo.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protocol>\Default\FolderType GUID que identifica el FOLDERTYPEID que se va a aplicar al conector de búsqueda. REG_SZ Opcional. Se usa en el elemento folderType del archivo .searchconnector-ms para indicar qué plantillas se deben usar para mostrar los resultados. Por ejemplo, el valor de GUID de FOLDERTYPEID_Documents.

 

Deshabilitación de la creación del conector de búsqueda del controlador de protocolo

Si la aplicación expone elementos a través de un controlador de protocolo para su uso en la propia aplicación y no desea exponer los elementos a través del shell (en las búsquedas del menú Inicio y el Explorador de Windows), debe deshabilitar la creación de un conector de búsqueda para el controlador de protocolo.

Para deshabilitar la creación del conector de búsqueda, establezca DoNotCreateSearchConnectors en 0x00000001(1), como se muestra en el siguiente ejemplo de clave del Registro.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  DoNotCreateSearchConnectors

Si DoNotCreateSearchConnectors está establecido en 1, se recomienda exponer la propiedad System.Shell.OmitFromView en cada elemento expuesto por el controlador de protocolo y establecer el valor de esta propiedad en TRUE. De esta manera, impedirá que los elementos del controlador de protocolo aparezcan en el grupo Archivos del menú Inicio.

Si DoNotCreateSearchConnectors está presente y se establece en cero, el Explorador de Windows creará un conector de búsqueda para el controlador de protocolo, y se devolverán los elementos del controlador de protocolo en las búsquedas del menú Inicio y el Explorador de Windows.

Personalización del nombre, la descripción o el tipo de carpeta del conector de búsqueda de un controlador de protocolo

El nombre del conector de búsqueda no solo se usa para identificar el conector de búsqueda en la carpeta Búsquedas, sino también como encabezado de grupo para los resultados de las búsquedas en el menú Inicio. Por lo tanto, es importante proporcionar un nombre descriptivo para el conector de búsqueda. Si no se proporciona un nombre en la clave del Registro, el Explorador de Windows usa de forma predeterminada el nombre proporcionado por la interfaz IShellFolder para la raíz de búsqueda y la descripción en blanco del controlador de protocolo. Puede invalidar el nombre predeterminado mediante una entrada de clave del Registro sin tener que cambiar el nombre de la interfaz IShellFolder. Aunque no es tan visible como el nombre del conector de búsqueda, también puede invalidar la descripción del conector de búsqueda proporcionando su propia descripción.

Para invalidar el nombre o la descripción predeterminados, establezca las entradas tal como se muestra en el siguiente ejemplo del Registro.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Default
                     Name
                     Description

Además, la entrada FolderType se puede establecer en uno de los GUID de FOLDERTYPEID. El valor debe ser el GUID real y no su nombre. Por ejemplo, {94d6ddcc-4a68-4175-a374-bd584a510b78} en lugar de FOLDERTYPEID_Music. El GUID de FOLDERTYPEID se puede obtener en el archivo de encabezado Shlguid.h en Windows SDK.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Default
                     FolderType = {94d6ddcc-4a68-4175-a374-bd584a510b78}

Uso del redireccionamiento de cadenas del Registro

Puede usar una cadena redirigida para asegurarse de que el nombre que proporcione para el conector de búsqueda se pueda localizar. Puede incluir cadenas localizables para las claves del Registro de nombre y descripción en lugar de escribir la cadena real en el Registro.

Para incluir una cadena localizable para los valores Name o Description, establezca el valor tal como se muestra en el siguiente ejemplo de clave del Registro.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Name = @dllname.dll,-resourceID

La cadena localizable toma el siguiente formato:

  • @dllname.dll,-resourceID, donde:
    • @dllname.dll es la ruta de acceso al archivo DLL que contiene el recurso de cadena.
    • resourceID es el identificador de recurso entero del recurso de cadena.

El formato de una cadena indirecta y una cadena indirecta anexada con un modificador de versión, se describe en Función SHLoadIndirectString.

Restauración del conector de búsqueda de un controlador de protocolo

Dado que los conectores de búsqueda son archivos que se encuentran en el equipo del usuario, se pueden eliminar por error. Para restaurar todos los conectores de búsqueda del controlador de protocolo eliminados, restaure las bibliotecas predeterminadas. Para ello, abra el Explorador de Windows, haga clic con el botón derecho en la carpeta Bibliotecas y seleccione Restaurar bibliotecas predeterminadas.

screen shot showing the restore default libraries menu option

Recursos adicionales

Conceptual

Descripción de los controladores de protocolo

Desarrollo de controladores de protocolo

Notificación del índice de cambios

Adición de iconos y menús contextuales

Ejemplo de código: Extensiones de shell para controladores de protocolo

Instalación y registro de controladores de protocolo

Depuración de controladores de protocolo