Как расширить Windows Desktop Search в стиле Outlook - PullRequest
2 голосов
/ 15 апреля 2011

Я хотел бы расширить поиск на рабочем столе Windows, чтобы включить результаты из моего пользовательского хранилища данных (например, как это делает Outlook). Это означает, что когда кто-то выполняет поиск в меню «Пуск» в Vista или Windows 7, я хотел бы, чтобы мои результаты отображались в «Моей пользовательской категории», где каждый результат представляет собой отдельную запись в моем хранилище пользовательских данных.

Я много читал документы MSDN, и кажется, что они неполные. Я также поиграл с несколькими примерами как в Windows 7 SDK, так и в Windows Search 3x SDK. Я надеялся, что образец RegSearch в Windows Search SDK (который является примером реализации обработчика протокола) будет полезен, однако, похоже, он не работает. Я могу создать его и зарегистрировать, но служба поиска возвращает следующие ошибки (из Event Viewer):

Log Name:      Application
Source:        Microsoft-Windows-Search
Event ID:      3036
Task Category: Gatherer
Level:         Warning
Description:
The content source <reg://<USER SID REMOVED>/> cannot be accessed.

Context:  Application, SystemIndex Catalog

Details:
    The specified address was excluded from the index. The site path rules may have to be modified to include this address.  (HRESULT : 0x80040d07) (0x80040d07)

(Примечание: я удалил SID при публикации, но журналы содержали его)

Далее:

Log Name:      Application
Source:        Microsoft-Windows-Search
Event ID:      3023
Task Category: Gatherer
Level:         Warning
Description:
The update cannot be started because all of the content sources were excluded by site path rules, or removed from the index configuration.

Context:  Application, SystemIndex Catalog

Details:
    (HRESULT : 0x1) (0x00000001)

А потом:

Log Name:      Application
Source:        Microsoft-Windows-Search
Event ID:      3083
Task Category: Gatherer
Level:         Error
Description:
The protocol handler File cannot be loaded. Error description: (HRESULT : 0x800700c1). 

И, наконец, первая ошибка повторяется.

Кто-нибудь заставил этот образец работать? Подходит ли обработчик протокола к тому, что я пытаюсь достичь?

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 16 апреля 2011

Загрузите Windows SDK http://msdn.microsoft.com/en-us/windows/bb980924.aspx, и вы найдете несколько очень хороших примеров кода - я особенно нашел полезный для поиска в реестре.

Имейте в виду, что интеграция поиска будет хорошо работать для Vista и более поздних версий Windows.Теоретически, XP также поддерживается, но это явно запоздалая мысль.

...