Discussion:
IStoreFolder::GetFirstMessage messageprops - only partial flags returned ?
(too old to reply)
R.Wieser
2020-08-03 09:15:02 UTC
Permalink
Hello all,

I'm using IStoreFolder::GetFirstMessage (msoe.dll) and friends to iterate
thru some emails and newsgroup messages in my "send" folder, and noticed
that the MESSAGEPROPS structure doesn't seem to contain any data about a
message being "watched", "ignored" or "flagged".

Do I need to do something special to retrieve those flags ?

Regards,
Rudy Wieser
JJ
2020-08-03 12:09:12 UTC
Permalink
Post by R.Wieser
Hello all,
I'm using IStoreFolder::GetFirstMessage (msoe.dll) and friends to iterate
thru some emails and newsgroup messages in my "send" folder, and noticed
that the MESSAGEPROPS structure doesn't seem to contain any data about a
message being "watched", "ignored" or "flagged".
Do I need to do something special to retrieve those flags ?
Regards,
Rudy Wieser
That should be in the `dwState` field.
R.Wieser
2020-08-03 13:15:52 UTC
Permalink
JJ,
Post by JJ
That should be in the `dwState` field.
I can see the MSG_FLAGGED value mentioned for that field and appearing, but
nothing in regard to "watched" or "ignored".

And I just noticed that the 'dwFlags' or 'dwStatus' fields do not mention
attachments (send or recieved), even though several messages (in my 'Inbox')
have them.

Ofcourse, I just now noticed that "ATTxxxxx.htm" attachments do not show up
in the paperclip column (doesn't make a difference for the above, I checked
all messages)

Regards,
Rudy Wieser
JJ
2020-08-04 19:26:26 UTC
Permalink
Post by R.Wieser
JJ,
Post by JJ
That should be in the `dwState` field.
I can see the MSG_FLAGGED value mentioned for that field and appearing, but
nothing in regard to "watched" or "ignored".
Could be one of those undocumented flags.
Post by R.Wieser
And I just noticed that the 'dwFlags' or 'dwStatus' fields do not mention
attachments (send or recieved), even though several messages (in my 'Inbox')
have them.
Attachment is not a state of amessage. It's a characteristic of a message.
It's defined in `IMSFLAGS`. Sent/received states are in the `dwState` flags.

I think you have a way-too-old MSDN Library, or Win32 SDK Help.
Post by R.Wieser
Ofcourse, I just now noticed that "ATTxxxxx.htm" attachments do not show up
in the paperclip column (doesn't make a difference for the above, I checked
all messages)
Won't it mean that the messages don't actually have any attachment?
R.Wieser
2020-08-04 20:35:54 UTC
Permalink
JJ,
Post by R.Wieser
I can see the MSG_FLAGGED value mentioned for that field and
appearing, but nothing in regard to "watched" or "ignored".
Could be one of those undocumented flags.
I ment that I have got newsgroup messages which are either "watched" or
"ignored" , but for which I do not see any bit set in the "dwState" field
(or anywhere else).
I think you have a way-too-old MSDN Library, or Win32 SDK Help.
Well, I have downloaded relevant webpages from "docs.microsoft.com" almost a
week ago, so maybe you are right and they are ? :-)

https://docs.microsoft.com/en-us/previous-versions/windows/desktop/oe/oe-message-state-flags
Post by R.Wieser
Ofcourse, I just now noticed that "ATTxxxxx.htm" attachments do not
show up in the paperclip column (doesn't make a difference for the above,
I checked all messages)
Won't it mean that the messages don't actually have any attachment?
It looks like that OE6 is a bit schizofrenic about that : While the
"paperclip column" indicates no attachments being present, when I select a
message I sometimes see a paperclip in the top-right of the preview window
which, when I click it, results in a small popup showing a line mentioning
"ATTxxxxx.htm" file, beloww it a divider bar and than the line "save
attachments". IOW, it doesn't have any attachments but it has ?
Confusing ...

But here are the contents of a returned MESSAGEPROPS structure for a 'Inbox'
message which has an attached image and shows it in the "paperclip column"
(all fields are shown in order of the strucure, some strings replaced with
dashes)

ID:0000008F Lng:00000000 Sta:00000010 Siz:00058A67 Pri:00000003
Rcv:2020/07/21 19:59.00 Snd:2020/07/21 19:53.56
'Re: -----------------------'
'R.Wieser'
'-------------'
'-----------------------'
Flg:00000000 Stm:009147B8

The only 'State' contents I see in the 'Inbox' folder are 0x00000010 and
0x00000110, with a 'Flags' field at always zero.

My "Send items" folder doesn't do any better : the only 'State' contents I
see there are 0x0000000, 0x00000020 and 0x00000100, with 'Flags' being
either 0x0000000 or 0x0004000.

All those 0x00000020 (newsgroup) entries are also "ignored" (hidden from
view), and some of the 0x0000000 (email) entries have attachments added.

In short, neither the 'Type' nor the 'Flags' field matches what OE shows me.
:-(

Any ideas ?

Regards,
Rudy Wieser
JJ
2020-08-05 13:07:04 UTC
Permalink
Post by R.Wieser
I ment that I have got newsgroup messages which are either "watched" or
"ignored" , but for which I do not see any bit set in the "dwState" field
(or anywhere else).
Perhaps the state changes have not been commited yet? I'm out of idea.
Post by R.Wieser
Well, I have downloaded relevant webpages from "docs.microsoft.com" almost a
week ago, so maybe you are right and they are ? :-)
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/oe/oe-message-state-flags
The problem with Microsoft is that they always have something to hide, and
have something already visible which they want to hide. If it's too early,
the information may not be there yet. If it's too late, the (perfectly still
valid) information may no longer be there.
Post by R.Wieser
It looks like that OE6 is a bit schizofrenic about that : While the
"paperclip column" indicates no attachments being present, when I select a
message I sometimes see a paperclip in the top-right of the preview window
which, when I click it, results in a small popup showing a line mentioning
"ATTxxxxx.htm" file, beloww it a divider bar and than the line "save
attachments". IOW, it doesn't have any attachments but it has ?
Confusing ...
But here are the contents of a returned MESSAGEPROPS structure for a 'Inbox'
message which has an attached image and shows it in the "paperclip column"
(all fields are shown in order of the strucure, some strings replaced with
dashes)
ID:0000008F Lng:00000000 Sta:00000010 Siz:00058A67 Pri:00000003
Rcv:2020/07/21 19:59.00 Snd:2020/07/21 19:53.56
'Re: -----------------------'
'R.Wieser'
'-------------'
'-----------------------'
Flg:00000000 Stm:009147B8
The only 'State' contents I see in the 'Inbox' folder are 0x00000010 and
0x00000110, with a 'Flags' field at always zero.
My "Send items" folder doesn't do any better : the only 'State' contents I
see there are 0x0000000, 0x00000020 and 0x00000100, with 'Flags' being
either 0x0000000 or 0x0004000.
All those 0x00000020 (newsgroup) entries are also "ignored" (hidden from
view), and some of the 0x0000000 (email) entries have attachments added.
In short, neither the 'Type' nor the 'Flags' field matches what OE shows me.
:-(
Any ideas ?
I think MSOE have its own interpretations of message attachment. It will
only treat a message as having attachments only if the attachment is not
either a text or HTML content, or has multiple HTML contents.

Because MSOE supports HTML email, there would be no point of it to mark a
message as having an attachment if the message's actual attachments are only
a HTML content - which MSOE will natively display.

The IMF_ATTACHMENTS might represent the actual attachments of the message.
But MSOE (the application; not its database) may ignore it - depending on
the contents of the attachments.
R.Wieser
2020-08-05 15:53:41 UTC
Permalink
JJ,
Post by JJ
Perhaps the state changes have not been commited yet?
Good call, but I don't think so: the "ignored" states (for all the newsgroup
messages in my "send" folder) have been there for quite a while (weeks).
Post by JJ
I'm out of idea.
As the "watched" and "ignored" states are not even mentioned in the "Message
State Flags" (for the 'dwState' field) I'm currently presuming that those
are ignored/activily supressed while filling in the MESSAGEPROPS record.
Which ofcourse, makes the IStoreFolder::GetNextMessage result a whole lotta
less usable to me.
Post by JJ
The problem with Microsoft is that they always have something to hide, and
have something already visible which they want to hide. If it's too early,
the information may not be there yet. If it's too late, the (perfectly
still valid)
information may no longer be there.
Information about which bit means what is one thing. But that doesn't stop a
program from doing its thing and returning those status bits - which it
doesn't seem to do.
Post by JJ
I think MSOE have its own interpretations of message attachment.
Thats my conclusion too. And I don't even blame them for it, as there is
some logic in it.
Post by JJ
Because MSOE supports HTML email, there would be no point of it to mark a
message as having an attachment if the message's actual attachments are only
a HTML content - which MSOE will natively display.
Personally I positivily hate HTML-ed messages - email or otherwise. So I've
set OE to display everything in "plain text". Which might be the cause of
those ATTxxxxx.htm "attachments" being shown.
Post by JJ
The IMF_ATTACHMENTS might represent the actual attachments
of the message. But MSOE (the application; not its database) may
ignore it - depending on the contents of the attachments.
Thats why Im mentioned that the message of which I posted the returned
MESSAGEPROPS data had an image attached - which showed in the "paperclip"
column, but isn't mentioned as IMF_ATTACHMENTS or otherwise.

Besides, I would expect to see a bunch of other IMF_xxx flags too.
IMG_TEXT, IMF_PLAIN, IMF_MIME, IFM_MULTIPART to name a few. But no, all
I've seen is either the IMF_NEWS flag or nothing. Which is, with the mix
of messages I have in both the "send items" as well as "inbox" folders,
simply not possible.

No, I think that the MSOE objects are crippeled, especially made to only
return partial data. MS gave OE as a freebie, to get you to buy Outlook.
Alas for them, lots of people could do everything they needed with the free
version. :-)

And by the way : I assumed those MSOE objects (IStoreNamespace and
sibblings) would be used by OE (MSIMN EXE) itself. As far as I now can
tell it doesn't (read: those objects are not the entry point I was looking
for).

Thanks for the responses.

Regards,
Rudy Wieser

Loading...