Help and Support

Artikel-ID: 304929 - Geändert am: Donnerstag, 25. August 2005 - Version: 2.4

PRB: benutzerdefinierte MAPI-Anbieter werden nicht in Outlook 2002 geladen

Auf dieser Seite

Alles erweitern | Alles schließen

Problembeschreibung

Nicht in Outlook 2002 wird ein benutzerdefinierter MAPI-Provider, wie einem Adressbuch, einem Transportanbieter oder einem Nachrichtenspeicheranbieter, den Sie entwickelt haben, möglicherweise geladen, obwohl der Anbieter in früheren Versionen von Outlook arbeitete. Wenn Outlook geladen wird, kann keine Fehlermeldung Ihnen angezeigt werden.

Sich kann beispielsweise nicht in Outlook 2002 von einem benutzerdefinierten Adressbuch, das in früheren Versionen von Outlook arbeitete, geladen werden kann. Der einzige Hinweis nicht bei Laden ist, dass Einträge von Ihrem Anbieter nicht aufgeführt werden, wenn Sie das Adreßbuch öffnen.

Ursache

Die Funktionen Interface verwenden zwei fehlerhafte Parameter-Gültigkeitsmakros.

Lösung

Entfernen Sie aus Ihrer Funktion Interface die fehlerhaften Makros, um dieses Problem umzugehen. Erstellen Sie Ihre eigene Funktion oder Ihr Makro, um die Überprüfung zu bearbeiten, wenn Sie Parameter-Überprüfung beibehalten möchten. Je nach Ihrem Anbieter stellen Sie möglicherweise fest, dass andere Makros mit ähnlichen Namen ebenfalls entfernt werden müssen. Potenziell sind alle Makros in MAPI betroffen, die HrValidateParameters schließlich aufrufen.

Achten Sie in Ihrem Transportanbieter außerdem ähnlich an dieser Funktion, um sicherzustellen, dass es ordnungsgemäß funktioniert, da Outlook Query-Interface jetzt für meiste Objekte aufruft, für die Query-Interface nicht aufgerufen wurde vor.

Weitere Informationen

Meiste benutzerdefinierte Anbieter basieren auf den Beispielen von Inside MAPI einem Microsoft Press-Buch von De la Cruz und Taler. Diese Beispiele verwenden die folgenden Makros, um die Parameter zu überprüfen, die von In-Punkt an Interface Funktionen übergeben werden:
  • CheckParameters_IUnknown_QueryInterface (dieses Riid PpvObj);
  • Validate_IUnknown_QueryInterface (dieses Riid PpvObj);
Diese Makros schlagen immer fehl, um zu verursachen Query-Interface einen Fehler zurückzugeben.

Diese Makros wurden für C geschrieben und funktionieren nicht einwandfrei in C++. Da Query-Interface für einige Objekte nie aufgerufen wird, verursacht das ein Problem in früheren Versionen von Outlook nicht. Hat das mit der Outlook 2002-Version von MAPI jedoch geändert.

Schritte zum Reproduzieren des Verhaltens

  1. Kompilieren Sie das ABWDS32-Beispiel, das Inside MAPI beschrieben wird, und folgen Sie den Anweisungen zu dem Installieren des Anbieters auf Ihrem Testcomputer.
  2. Folgen Sie den Anweisungen zu dem Installieren des "WINDS Sample Server Messaging Host" Server-Teils. Dieses Beispiel befindet sich in dem Server-Ordner der CD des Buchs.
  3. Erstellen Sie ein Profil in Outlook, das den Beispielanbieter verwendet.
  4. Starten Sie Outlook, und öffnen Sie das Adreßbuch.
  5. Namen anzeigen von dem </B> Notiz dass der Beispielanbieter nicht ist, zeigte eine Liste an in <B>.

Informationsquellen

De la Cruz, Irving und Les Thaler. Inside MAPI. Redmond: 1996 Microsoft Press.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Messaging Application Programming Interface
  • Microsoft Outlook 2002 Standard Edition
Keywords: 
kbmsg kbprb KB304929 KbMtde kbmt
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 304929  (http://support.microsoft.com/kb/304929/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

SPRACHE AUSWÄHLEN

 

Related Support Centers