Outlook loopt vast wanneer u IMAPIProp::GetProps aanroept op een verlopen MAPIOBJECT

Origineel KB-nummer: 4131515

Symptomen

Neem het volgende scenario:

  • U maakt een e-mailbericht met behulp van Microsoft Outlook.
  • U voegt een bestaand e-mailbericht toe aan het nieuwe bericht.
  • U opent het bijgevoegde bericht voor weergave.
  • U gebruikt de gebeurtenis NewInspector om een verwijzing op te halen naar de huidige Outlook.MailItem die overeenkomt met de e-mailbijlage die u zojuist hebt geopend.
  • In het MailItem-object krijgt u een verwijzing naar het onderliggende MAPI-object door de eigenschap MAPIOBJECT in C++ te lezen.
  • U slaat het bericht op of Outlook start een bewerking voor automatisch opslaan.
  • U start de methode GetProps op een IMAPIProp-verwijzing op basis van de MAPIOBJECT verwijzing die u hebt verkregen via de gebeurtenis NewInspector.

In dit scenario loopt Outlook vast.

Oorzaak

Het MAPI-object dat u van de MAPIOBJECT eigenschap hebt verkregen, is verouderd en kan niet meer worden gebruikt. U moet de eigenschap niet opnieuw gebruiken als het bijbehorende Outlook-item is gewijzigd.

Oplossing

Telkens wanneer u een bewerking moet uitvoeren op het MAPI-object dat is toegewezen aan een Outlook- of Outlook-objectmodelitem, krijgt u een nieuwe verwijzing naar het onderliggende MAPI-object. Voer vervolgens MAPI-bewerkingen uit op die nieuwe verwijzing in plaats van op een verouderde verwijzing die mogelijk niet meer geldig is. Het gebruik van een verouderde verwijzing kan onverwacht gedrag veroorzaken en de Outlook-client vastlopen.

Meer informatie

We raden u aan geen verwijzingen die u via het Outlook-objectmodel hebt verkregen, langer vast te houden MAPIOBJECT dan nodig is. Dit komt doordat het onderliggende object vaak onderhevig is aan wijzigingen. Het gebruik van een verlopen onderliggend object kan onverwachte fouten veroorzaken. Dit geldt voor alle scenario's waarin u mogelijk een MAPIOBJECT verwijzing moet krijgen via het Outlook-objectmodel, niet alleen het scenario dat wordt vermeld in de sectie Symptomen.