Outlook does not delete Custom Messages (PR_MESSAGE_CLASS=IPM.xxxx"

M

movalgirl

Hi all,

I have a custom message class with associated FormServer and in some
situations the custom messages cannot be deleted in Outlook (normal
delete with the delete key).

The scenario is as follows: I open a message and change it's message
class to IPM.MyForm.
If the original message was an "IPM.Schedule.Meeting.Resp.Pos" it is
not deleted. If the original
message class was IPM.Note the message is deleted in Outlook without a
problem.

In the case that the original message was a
"IPM.Schedule.Meeting.Resp.Pos" my FormServer is called during
the delete operation and the delete does not take place.

Is there any documentation as HOW Outlook functions as a Messaging
client? In particular, which APIs it calls when. I am supporting
IPersisitMessage, IMapiForm IDispatch and in the FormViewer :
IMapiMessageSite, IMapiviewContext, IMapiViewAdviseSink

Can anyone help me here? At least point me in the right direction. I
have used OutlookSpy to look at the difference in the properties that
the messages have... but so far no luck.

Regards,
movalgirl
 
K

Ken Slovak - [MVP - Outlook]

If you don't get an answer here, I don't know if Dmitry reviews this group
you might want to post this in a group that specializes in Extended MAPI,
microsoft.public.win32.programmer.messaging. The MAPI experts hang out
there.
 
M

movalgirl

No, even after the restart of Outlook my custom messages are not
deleted.
It starts my custom form which is registered for the message class...
and it does nothing. My custom Form hangs.

If the original message was an PR_MESSAGE_CLASS=IPM.Note, for
instance, even after the change to IPM.MyForm...the
message is deleted without a problem. Note that in this case, my
custom form is not started.

I assume it has something to do with some properties that are set for
an IPM.Schedule.Meeting.request.resp.pos

How can I find out which API method Outlook is firing when this
"delete" occurs? It is probably some method which
I support the following interfaces in my formserver: IPersistMessage,
IMapiForm, IMapiMessageSite, IMapiViewcontext, IMapiViewAdviseSink.
 
M

movalgirl

One more comment to append to my last posting:

I see from the logfiles of my custom form server that the
IPersistMessage::Load() function is being called when the delete
button is pressed.

However, after that nothing else happens. No ShutdownForm(),
nothing...
 
D

Dmitry Streblechenko

Try to delete named properties from the message one at a time unt il problem
disappears. You can do that in OutlookSpy - click IMessage, slect a
property, click "Delete Properties".
I suspect SideEffects ({00062008-0000-0000-C000-000000000046}, 0x8510,
PT_LONG) might have somerthing to do with this.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
 
M

movalgirl

Bingo, that did the trick. When I delete the named property
0x8005 (ID=0x8510) the email can be deleted. My custom form is not
loaded and
everyone is happy.

Do you have any idea what exactly this property does? I will have to
write a program
to delete this named property so that our custom messages can be
deleted at will.
I don't want to break Outlook....

Perhaps I will open a support case at microsoft about this problem.
Then the customer will
see that it is not our fault...

Regards and many thanks!
movalgirl
 
D

Dmitry Streblechenko

That property stores various flags and is called SideEffects.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
Bingo, that did the trick. When I delete the named property
0x8005 (ID=0x8510) the email can be deleted. My custom form is not
loaded and
everyone is happy.

Do you have any idea what exactly this property does? I will have to
write a program
to delete this named property so that our custom messages can be
deleted at will.
I don't want to break Outlook....

Perhaps I will open a support case at microsoft about this problem.
Then the customer will
see that it is not our fault...

Regards and many thanks!
movalgirl
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top