Freigeben über


MAPI-Datensatz- und Suchschlüssel

Gilt für: Outlook 2013 | Outlook 2016

Datensatzschlüssel und Suchschlüssel sind binäre Bezeichner, die vielen MAPI-Objekten zugewiesen sind. Im Gegensatz zum Eintragsbezeichner eines Objekts ist sein Datensatz oder Suchschlüssel sowohl direkt vergleichbar als auch übertragbar. 

Schlüssel aufzeichnen

Ein Datensatzschlüssel wird verwendet, um zwei Objekte zu vergleichen. Nachrichtenspeicher- und Adressbuchobjekte müssen Über Datensatzschlüssel verfügen, die in ihrer PR_RECORD_KEY -Eigenschaft (PidTagRecordKey) gespeichert sind. Da ein Datensatzschlüssel ein Objekt und nicht seine Daten identifiziert, verfügt jede instance eines Objekts über einen eindeutigen Datensatzschlüssel. Der Bereich eines Datensatzschlüssels für Ordner und Nachrichten ist der Nachrichtenspeicher. Der Bereich für Adressbuchcontainer, Messagingbenutzer und Verteilerlisten ist der Satz von Containern der obersten Ebene, die von MAPI zur Verwendung im integrierten Adressbuch bereitgestellt werden.

Datensatzschlüssel können in einer anderen Ressource dupliziert werden. Beispielsweise können unterschiedliche Nachrichten in zwei verschiedenen Nachrichtenspeichern denselben Datensatzschlüssel aufweisen. Dies unterscheidet sich von Langzeiteintragsbezeichnern; Da langfristige Eingabebezeichner einen Verweis auf den Dienstanbieter enthalten, haben sie einen größeren Bereich. Der Datensatzschlüssel eines Nachrichtenspeichers ähnelt dem Bereich eines Bezeichners für einen langfristigen Eintrag. Sie sollte für alle Nachrichtenspeicheranbieter eindeutig sein. Um diese Eindeutigkeit sicherzustellen, legen Nachrichtenspeicheranbieter ihren Datensatzschlüssel in der Regel auf einen Wert fest, der die Kombination aus ihrer PR_MDB_PROVIDER -Eigenschaft (PidTagStoreProvider) und einem bezeichner ist, der für den Nachrichtenspeicher eindeutig ist.

Suchschlüssel

Ein Suchschlüssel wird verwendet, um die Daten in zwei Objekten zu vergleichen. Der Suchschlüssel eines Objekts wird in seiner PR_SEARCH_KEY -Eigenschaft (PidTagSearchKey) gespeichert. Da ein Suchschlüssel die Daten eines Objekts und nicht das Objekt selbst darstellt, können zwei verschiedene Objekte mit den gleichen Daten denselben Suchschlüssel aufweisen. Wenn beispielsweise ein Objekt kopiert wird, verfügen sowohl das ursprüngliche Objekt als auch seine Kopie über dieselben Daten und denselben Suchschlüssel.

Nachrichten- und Messagingbenutzer verfügen über Suchschlüssel. Der Suchschlüssel einer Nachricht ist ein eindeutiger Bezeichner der Daten der Nachricht. Nachrichtenspeicheranbieter stellen die PR_SEARCH_KEY-Eigenschaft einer Nachricht zum Zeitpunkt der Nachrichtenerstellung bereit. Der Suchschlüssel eines Adressbucheintrags wird aus seinem Adresstyp (PR_ADDRTYPE (PidTagAddressType)) und seiner Adresse (PR_EMAIL_ADDRESS (PidTagEmailAddress)) berechnet. Wenn der Adressbucheintrag schreibbar ist, ist sein Suchschlüssel möglicherweise erst verfügbar, wenn der Adresstyp und die Adresse mithilfe der IMAPIProp::SetProps-Methode festgelegt wurden und der Eintrag mithilfe der IMAPIProp::SaveChanges-Methode gespeichert wurde. Wenn sich diese Adresseigenschaften ändern, ist es möglich, dass der entsprechende Suchschlüssel erst mit den neuen Werten synchronisiert wird, wenn die Änderungen mit einem SaveChanges-Aufruf committet wurden.

Der Wert des Datensatzschlüssels eines Objekts kann je nach Dienstanbieter mit dem Wert des Suchschlüssels identisch oder vom Wert des Suchschlüssels abweichen. Einige Dienstanbieter verwenden denselben Wert für den Suchschlüssel, den Datensatzschlüssel und den Eintragsbezeichner eines Objekts. Andere Dienstanbieter weisen für jeden Bezeichner seiner Objekte eindeutige Werte zu.

Siehe auch

MAPI-Anwendungsentwicklung