Freigeben über


Berechtigungen für MAPI-Objekte und -Eigenschaften

Gilt für: Outlook 2013 | Outlook 2016

Zugriffsberechtigungen oder der Satz zulässiger Vorgänge können ein Merkmal von MAPI-Objekten und einzelnen Eigenschaften sein, die von diesen Objekten unterstützt werden. Der Objektzugriff wird durch das übergeordnete Objekt bestimmt. Bei einer Nachricht bestimmt sein Ordner Zugriffsberechtigungen. Für einen Messagingbenutzer oder eine Verteilerliste trifft dessen Adressbuchcontainer diese Bestimmung. Wenn sich ein Objekt wie eine Nachricht in zwei Ordnern befindet, können die Berechtigungen für die beiden Kopien des Objekts unterschiedlich sein.

Clients, die diese Objekte verwenden, können die höchste zulässige Zugriffsebene für das Objekt anfordern, indem sie das MAPI_BEST_ACCESS-Flag für den IMAPISession::OpenEntry-Aufruf festlegen. Abhängig vom Dienstanbieter, der das Objekt implementiert, kann dem Client die erforderliche Zugriffsebene gewährt werden. Clients können die Zugriffsebene bestimmen, die ihnen gewährt wurde, indem sie die GetProps-Methode des Objekts aufrufen, um die eigenschaft PR_ACCESS (PidTagAccess) abzurufen. Da der Dienstanbieter den Wert für diese Eigenschaft jedoch dynamisch generieren muss, wird empfohlen, dass Clients ihn nur bei Bedarf abrufen.

Um zu bestimmen, ob ein Container wie ein Ordner, ein Adressbuchcontainer oder eine Verteilerliste Änderungen zulässt, rufen Sie die getProps-Methode auf, um die eigenschaft PR_ACCESS_LEVEL (PidTagAccessLevel) abzurufen. Der Zugriff auf Containerebene wirkt sich auf Clients in Bezug auf die Anzeige ihrer Benutzeroberflächen aus. Dies wirkt sich auch auf die Implementierer von Objekten innerhalb von Containern in Bezug auf die Anzeige der Benutzeroberfläche und deren allgemeine Implementierung aus.

Der Zugriff auf eine bestimmte Eigenschaft wird durch das Eigenschaftenschema bestimmt, das von MAPI für das Objekt eingerichtet wird, das die Eigenschaft besitzt. Eigenschaftenschemas geben den Satz der erforderlichen und optionalen Eigenschaften für ein Objekt und deren Zugriffsberechtigung an. Im Gegensatz zum Objektzugriff, der durch das übergeordnete Objekt bestimmt wird, ist der Eigenschaftszugriff global. Jedes Objekt verfügt unabhängig von den Zugriffsanforderungen des übergeordneten Objekts über die gleichen Berechtigungen für die Eigenschaft, die durch das Schema bestimmt werden.

Wenn eine Eigenschaft schreibgeschützt ist, ist sie immer mit einem GetProps - oder OpenProperty-Aufruf verfügbar. Je nach Implementierung des Objekts, das die Eigenschaft unterstützt, gibt es jedoch zwei mögliche Ergebnisse für die SetProps-Methode zum Ändern einer Eigenschaft und die DeleteProps-Methode zum Entfernen:

  • Fehler und Rückgabe MAPI_E_NO_ACCESS

  • Erfolgreich, ohne dass eine Aktion ausgeführt wurde

Der Zugriff auf Eigenschaften und Objekte kann auch mithilfe der IPropData-Schnittstelle abgerufen oder festgelegt werden, die von der IMAPIProp-Schnittstelle erbt. MAPI stellt eine Implementierung von IPropData bereit, die auf Daten im Arbeitsspeicher basiert. Dienstanbieter können IPropData verwenden, um IMAPIPropProp unter bestimmten Umständen zu implementieren, z. B. für ihr status-Objekt oder wenn sie eine Datenbank ohne integrierte Transaktionen verwenden. IPropData funktioniert ausschließlich im Arbeitsspeicher, sodass es nicht erforderlich ist, Daten zu sperren und zu entsperren.

Siehe auch

Übersicht über die MAPI-Eigenschaft