Outlook MAPIOBJECT üzerinde IMAPIProp::GetProps çağrısı sırasında uygulama kilitleniyor
Özgün KB numarası: 4131515
Belirtiler
Aşağıdaki senaryoyu inceleyin:
- Microsoft hesabı kullanarak e-posta iletisi Outlook.
- Var olan bir e-posta iletisi yeni iletiye iliştirebilirsiniz.
- Ekli iletiyi görüntülemek için açarsınız.
- Geçerli başvuru kılavuzuna başvuru almak için NewInspector Outlook. Yeni açtığınız e-posta ekine karşılık gelen MailItem.
- MailItem nesnesinde, C++ içinde MAPIOBJECT özelliğini okuyarak temel MAPI nesnesine başvuru alırsiniz.
- İletiyi kaydedersiniz veya Outlook Kaydetme işlemi başlatılır.
- GetProps yöntemini, NewInspector olayı aracılığıyla elde edilen başvurudan, bir IMAPIProp başvurusu
MAPIOBJECTüzerinde başlatmış oluruz.
Bu senaryoda, Outlook kilitleniyor.
Neden
Özellikten elde edilen MAPI nesnesi eski hale geldi MAPIOBJECT ve artık kullanılamaz. İlgili öğe değiştiyse, özelliği Outlook yeniden kullanmazsanız.
Çözüm
Nesne Modeli öğesiyle Outlook veya Outlook eşleen MAPI nesnes üzerinde bir işlemi çalıştırmanız gereken her zaman, temel MAPI nesnesine yeni bir başvuru alırnız. Ardından, artık geçerli olamayacak eski bir başvuru yerine, bu yeni başvuru üzerinde tüm MAPI işlemlerini çalıştırın. Eski başvuru kullanmak beklenmeyen davranışa neden olabilir ve istemcide Outlook kilitlenmeye neden olabilir.
Daha fazla bilgi
Nesne Modeli aracılığıyla elde edilen başvuruları, gerekenden daha uzun MAPIOBJECT süre Outlook tutmamanizi öneririz. Bunun nedeni, temel alınan nesnenin sık sık değişebilir. Eski bir temel nesne kullanmak beklenmeyen hatalara neden olabilir.
Bu, yalnızca "Belirtiler" bölümünde belirtilen senaryolar için değil, Outlook Modeli üzerinden başvuru almak zorunda olabileceğiniz tüm MAPIOBJECT senaryolar için geçerlidir.