Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Windows Search SDK stellt eine Interoperabilitätsassembly bereit, mit der Sie mit COM-Objekten (Component Object Model) arbeiten können, die durch Windows Search und andere Programme für die Arbeit mit Schnittstellen und Klassen mit verwaltetem Code bereitgestellt werden. Die Interoperabilitätsassembly wird von Microsoft digital signiert und kann in den Windows Search-Beispielen gefunden werden.
Dieses Thema ist wie folgt organisiert:
Verwenden des Windows-API-CodePack
Wenn Sie in der Microsoft .NET-Umgebung arbeiten, verwenden Sie das Windows API Code Pack für Microsoft .NET Framework , um Suchergebnisse abzurufen oder einfach den Namespace zu durchsuchen. Das Windows API Code Pack für Microsoft .NET Framework bietet Ihnen eine Sammlung von Shell-Elementen, die im Wesentlichen Wrapper um die systemeigene IShellItem-Schnittstelle sind. Sie können diese Auflistung durchlaufen und die verschiedenen Eigenschaftswerte in einer Weise abrufen, wie Sie die Ergebnisse in einer Tabelle aus einer OLE DB-Abfrage (Object Linking and Embedding Database) aufzählen würden.
Der folgende Codeausschnitt veranschaulicht, wie Sie über Suchergebnisse iterieren und die Eigenschaftswerte für jedes einzelne Element ermitteln können.
foreach (ShellObject so in KnownFolders.SavedSearches)
{
searchFolder = new ShellSearchFolder(finalSearchCondition, (ShellContainer)so);
List<ShellObject> items = new List<ShellObject>();
foreach (ShellObject so2 in searchFolder) items.Add(so2);
}
Zugreifen auf Indexergebnisse
Sie können über OLE DB oder das Shell-Datenmodell auf Indexergebnisse zugreifen. Bei beiden Ansätzen gibt es Vor- und Nachteile. Ein Vorteil ist, dass OLE DB und Structured Query Language (SQL) datenbankprogrammierern vertraut sind. Andere Vorteile sind eine bessere Kontrolle über die Leistung beim Abfragen nur des Indexers und der Zugriff auf zusätzliche Funktionen, z. B. die Möglichkeit, vorherige Ergebnisse in einem neuen Rowset schnell zu finden.
Die Vorteile des Shell-Datenmodells sind, dass es unterschiedliche Informationsquellen wie OpenSearch abstrahiert und Zugriff auf zusätzliche Funktionen wie Miniaturansichten und Eigenschaftenhandler bietet. Das Shell-Objektmodell erfordert auch keine Sonderfallunterstützung für Nicht-Dateinamen-Ergebnisse wie E-Mail-Elemente und OneNote-Ergebnisse sowie für elemente, die sich im Index des Benutzers befinden. Beachten Sie, dass in Shell KNOWNFOLDERID der bekannte Ordnerbereich für lokale indizierte Inhalte ist. Weitere Informationen zum Erstellen einer Shell-Datenquelle finden Sie unter Implementieren der grundlegenden Ordnerobjektschnittstellen.
OpenSearch-Datenquellen werden nicht über OLE DB für die Sammelsuche in Windows 7 und höher verfügbar gemacht. Aus diesem Grund wird empfohlen, einen LINQ-Anbieter für den Shell-Namespace zu schreiben, anstatt OLE DB für den Zugriff auf die Indexerergebnisse zu verwenden. Weitere Informationen finden Sie unter Walkthrough: Creating an IQueryable LINQ Provider.
Beispielanwendung mit dem Windows-API-Codepack
Der folgende Screenshot stellt ein Modell einer Beispielanwendung dar, die mit dem Windows API Code Pack für Microsoft .NET Framework erstellt wurde.
Zugehörige Themen
-
Konzeptionelle
-
andere Ressourcen