Program Outlook ulega awarii po wywołaniu polecenia IMAPIProp::GetProps w nieaktualiznym pliku MAPIOBJECT
Oryginalny numer KB: 4131515
Symptomy
Rozpatrzmy następujący scenariusz:
- Wiadomość e-mail można utworzyć przy użyciu programu Microsoft Outlook.
- Do nowej wiadomości dołączasz istniejącą wiadomość e-mail.
- Otwierasz dołączony komunikat do wyświetlania.
- Zdarzenie NewInspector służy do uzyskiwania odwołania do bieżącego elementu Outlook.MailItem odpowiadającego właśnie otwartemu załącznikowi wiadomości e-mail.
- Z obiektu MailItem uzyskujesz odwołanie do bazowego obiektu MAPI, odczytając właściwość MAPIOBJECT w języku C++.
- Zapisujesz komunikat lub program Outlook inicjuje operację automatycznego zapisywania.
- Metodę GetProps należy uruchomić w odwołaniu IMAPIProp z odwołania uzyskanego
MAPIOBJECT
za pośrednictwem zdarzenia NewInspector.
W tym scenariuszu program Outlook ulega awarii.
Przyczyna
Obiekt MAPI uzyskany z MAPIOBJECT
właściwości stał się nieaktualny i nie jest już użyteczny. Nie należy ponownie używać właściwości, jeśli odpowiedni element programu Outlook został zmieniony.
Rozwiązanie
Za każdym razem, gdy trzeba uruchomić operację na obiekcie MAPI mapowym na element modelu obiektów programu Outlook lub Outlook, należy uzyskać nowe odwołanie do bazowego obiektu MAPI. Następnie uruchom wszystkie operacje MAPI dla tego nowego odwołania zamiast na nieaktualnych odwołaniach, które mogą już nie być prawidłowe. Użycie nieaktualnych odwołań może spowodować nieoczekiwane zachowanie i spowodować awarię klienta programu Outlook.
Więcej informacji
Zalecamy, aby nie przechowywać żadnych MAPIOBJECT
odwołań uzyskanych za pośrednictwem modelu obiektów programu Outlook dłużej niż jest to konieczne. Dzieje się tak, ponieważ obiekt bazowy często może ulec zmianie. Użycie przestarzałego obiektu bazowego może spowodować nieoczekiwane błędy.
Dotyczy to wszystkich scenariuszy, w których może być konieczne uzyskanie odwołania za pośrednictwem MAPIOBJECT
modelu obiektów programu Outlook, a nie tylko scenariusza wymienionego w sekcji "Objawy".
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla