PR_STORE_SUPPORT_MASK on IMsgOnIStg

  • Thread starter Thread starter T-rev
  • Start date Start date
T

T-rev

There is a property present on message objects which indicates what the
store supports, and also what that object supports.

When I create a new IMsgOnStg object and request the PR_STORE_SUPPORT_MASK
it gives me a value which does not match my store, and if I try to set it I
get a computed error.

What sets the initial value of this property? Is there any way of changing
it, using Get/SetAttribIMsgOnStg.

My problem is that in our messageStore code, we shim in between the
IMsgOnStg with a wrapper and give back the correct support mask. Although
we have another part of the product which uses a conversion process which
does not allow us to shim in between the IMsgOnStg and the filter, so it is
necessary to set this to the same value as our messageStore supports (mainly
the non unicode support)
 
PS.
Sorry I am using extended MAPI and requesting setting values through the
GetProps and SetProps methods on the IProperty interface.
 
That property is managed by MAPI on case of a IMsgOnStg . Why can't you
return your own wrapped IMessage object that uses the IMsgOnStg IMessage,
but modifies and returns the values appropriate for your store?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
We currently do return the correct value from our messageStore as we present
a wrapped IMsgOnStg interface which means we are able to intercept the
GetProps calls and return the correct value.

Unfortunately we have another part of the product which use a kind of
IFilter to extract text from an MSG using a 3rd party product. Should this
Flag make sense outside of a MsgStore context. (Ie indicate if an MSG can
support Unicode or not)

Is there anyway of setting this property on the MSG when created or
afterwards?

Thanks
Trevor.
 
No, you cannot set that property.
I don't think I understand - if you return the apporpriate value for the
PR_STORE_SUPPORT_MASK property and corectly hanadle Unicode, how would that
product even know that the native Imessage does not support Unicode?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
The problem is that we do not support UNICODE and only set the ANSII strings
on our wrapper and also the MSG file. This fine for all communication
between outlook and the message store.

The problem only occurs when we have to pass the physical MSG file off to
another product for indexing, at this point it asks the MSG for the Support
Mask and it is told that the MSG is Unicode aware. Unfortunately it might
have been, but we weren't so it requests only Unicode strings and hence
never gets the correct ANSII strings that were set on it.

I have found another way around this in the meantime, instead of passing off
to the product to get back the text, I am extracting it myself and using it.
But if there is a solution to the above it would be greatly received.
 
Back
Top