Discussion:
inetcomm MimeOleDecodeHeader - what does it do ?
(too old to reply)
R.Wieser
2020-10-04 07:48:32 UTC
Permalink
Hello all,

I came across the MimeOleDecodeHeader function (inetcomm.dll, xpsp3), and
due to its name it sounded like an interresting function*. So, I called it
with a saved newsgroup message as input (and a NULL characterset).

*I assumed it would pull the header information apart, qualify it parts and
store them
in a kind of array.

The result was rather disappointing : the PropertyValue result was as simple
string that was, as far as I could tell, the exact the same as the input.

My question therefore is : What is MimeOleDecodeHeader supposed to be doing
? MS doesn't say anything about it. Googeling for the function doesn't
turn up any info or examples either.


Second question:
I notice that MS is removing programming related information thats still, as
an XPsp3 user, relevant to me. DirectX object descriptions either have
fully disappeared (from MS as well as the wider internet) or supposedly only
contain IUnknown and no further methods or properties, DLLs that have
disappeared, etc.

I know if the existance of the "WayBack machine", but have no clue to entice
it to divulge information from, lets say, around 15 years back (when XP was
still in its prime years)

IOW, how do I "google" the "WayBack machine" for information (on a browser
that has JS disabled) ?

Regards,
Rudy Wieser
JJ
2020-10-04 23:54:00 UTC
Permalink
Post by R.Wieser
Hello all,
I came across the MimeOleDecodeHeader function (inetcomm.dll, xpsp3), and
due to its name it sounded like an interresting function*. So, I called it
with a saved newsgroup message as input (and a NULL characterset).
*I assumed it would pull the header information apart, qualify it parts and
store them
in a kind of array.
The result was rather disappointing : the PropertyValue result was as simple
string that was, as far as I could tell, the exact the same as the input.
My question therefore is : What is MimeOleDecodeHeader supposed to be doing
? MS doesn't say anything about it. Googeling for the function doesn't
turn up any info or examples either.
MS doesn't mention all of the details, but it does mention MIME and RFC1522.
i.e. it simply decodes MIME encoded data such as quoted-printable, and
Base64.
Post by R.Wieser
I notice that MS is removing programming related information thats still, as
an XPsp3 user, relevant to me. DirectX object descriptions either have
fully disappeared (from MS as well as the wider internet) or supposedly only
contain IUnknown and no further methods or properties, DLLs that have
disappeared, etc.
That's why I keep old SDKs. To keep the old documentations.
Post by R.Wieser
I know if the existance of the "WayBack machine", but have no clue to entice
it to divulge information from, lets say, around 15 years back (when XP was
still in its prime years)
IOW, how do I "google" the "WayBack machine" for information (on a browser
that has JS disabled) ?
It's no longer possible. archive.org has been gradually changed to require
JS. e.g. showing the list of snapshot dates (and times in a date) of a
specific URL.

This was done to offload the data processing (i.e. render the archive
metadata to HTML) to web browsers, instead of by the server. Because
archive.org is having a tough time serving data.

You can see how slow its network response is. i.e. the time between a
network request is sent, and the time when the first network response data
is received (not to be confused with network speed).

That optimization is still not enough, even for now. Further optimizations
will likely be added. Making it to require JS more.
R.Wieser
2020-10-05 06:48:51 UTC
Permalink
JJ,
Post by JJ
MS doesn't mention all of the details, but it does mention MIME
and RFC1522. i.e. it simply decodes MIME encoded data such
as quoted-printable, and Base64.
I can't remember having ever seen MIME or Base64 in a messages /header/ ...
:-) But I'l find a full message which includes an attachment and see what
happens. Also, I'll throw a "good guy" message into it and see how his
name is decoded. I just realised, thats a two-in-one. Non-ASCII in the
header as well as having MIMEd content.

Testing...

Nope, nothing seems to have changed. Still a single string as a result, GGs
name is still "=?UTF" encoded and the mime blocks are still there as they
where in the origional.
Post by JJ
That's why I keep old SDKs. To keep the old documentations.
Do you perhaps have a specific SDK name I can search for - or better yet, a
link ?

And than I hope I can get them to divulge their contents, as I do not have a
C{something} programming environment here.
Post by JJ
It's no longer possible. archive.org has been gradually changed to
require JS
While looking for more info about the Wayback machine I stumbled over an
JSON API. If all else fails I could take a peek at that.

Regards,
Rudy Wieser
R.Wieser
2020-10-05 07:46:23 UTC
Permalink
Post by R.Wieser
Post by JJ
That's why I keep old SDKs. To keep the old documentations.
Do you perhaps have a specific SDK name I can search for - or better yet,
a link ?
A combined 98, ME and XP SDK was mentioned here :

https://stackoverflow.com/questions/5728142/where-to-download-windows-xp-platform-sdk

Alas, digging thru the CAB (inside CAB) files I could not find anything
relating to the InetComm DLL.

Regards,
Rudy Wieser
JJ
2020-10-06 08:58:27 UTC
Permalink
Post by R.Wieser
Testing...
Nope, nothing seems to have changed. Still a single string as a result, GGs
name is still "=?UTF" encoded and the mime blocks are still there as they
where in the origional.
Don't know why it doesn't work despite what it supposed to do. Unless it
fails.
Post by R.Wieser
Do you perhaps have a specific SDK name I can search for - or better yet, a
link ?
And than I hope I can get them to divulge their contents, as I do not have a
C{something} programming environment here.
SDKs for Windows 2003 and newer, are available in Microsoft download site.
Older ones are only as part of the compiler/IDE software, and can only be
found outside Microsoft site. e.g. archive.org, WinWorldPc, etc.
Post by R.Wieser
https://stackoverflow.com/questions/5728142/where-to-download-windows-xp-platform-sdk
Alas, digging thru the CAB (inside CAB) files I could not find anything
relating to the InetComm DLL.
In Windows 2003 SDK, MimeOleDecodeHeader is declared in `mimeole.h`. Within
the `include` subfolder or install category.
R.Wieser
2020-10-06 11:24:12 UTC
Permalink
JJ,
Post by JJ
Post by R.Wieser
Nope, nothing seems to have changed. Still a single string as a result,
GGs name is still "=?UTF" encoded and the mime blocks are still there
as they where in the origional.
Don't know why it doesn't work despite what it supposed to do. Unless
it fails.
It returns a Zero (S_OK), (as well as that output string), which AFAIK means
it succeeded.
Post by JJ
In Windows 2003 SDK, MimeOleDecodeHeader is declared in `mimeole.h`.
Within the `include` subfolder or install category.
The SDK I mentioned does not seem to have that file, but I found the method
itself in "mimeole.idl" - which, by the way, is incorrectly described (as is
the current MS page) : the LPPROPVARIANT needs to be initialised with either
VT_LPSTR or VT_LPWSTR. In short, its an "in,out" argument (not an "out"
one).

And alas, its just the names of the method and arguments. No further
information of any kind. :-\

I'll try to find that 2003 SDK though. Lets see if that header file has
some better info.

By the way, thanks. :-)

Regards,
Rudy Wieser
JJ
2020-10-08 06:36:30 UTC
Permalink
Post by R.Wieser
The SDK I mentioned does not seem to have that file, but I found the method
itself in "mimeole.idl" - which, by the way, is incorrectly described (as is
the current MS page) : the LPPROPVARIANT needs to be initialised with either
VT_LPSTR or VT_LPWSTR. In short, its an "in,out" argument (not an "out"
one).
And alas, its just the names of the method and arguments. No further
information of any kind. :-\
`mimeole.h` has the same info as `mimeole.idl`, unfortunately.

However, the `MimeOleDecodeHeader` description suggest to see
`IMimeInternational::DecodeHeader` for more information.
Post by R.Wieser
I'll try to find that 2003 SDK though. Lets see if that header file has
some better info.
Unbelievable! I have SDKs for NT3.1, NT4, Server 2003 R2, Vista, Win7, Win8,
and Win10. Yet, the `mimeole.h` only exist in Server 2003 R2 SDK.

And apparently, the Server 2003 R2 SDK has been removed from Microsoft
download site. Only Server 2003 SP1 SDK still available. I still don't have
it, so I don't know if it also has the `mimeole.h` file. I'm downloading it
now.

If you want Server 2003 R2 SDK, CNET still has it.

<https://download.cnet.com/Windows-Server-2003-R2-Platform-SDK-ISO-Download/3000-10248_4-10731094.html>
R.Wieser
2020-10-08 07:14:56 UTC
Permalink
JJ,
Post by JJ
However, the `MimeOleDecodeHeader` description suggest to
see `IMimeInternational::DecodeHeader` for more information.
That is where I found that I could use a NULL charset, and from where I took
the hint to update the ouput-only PROPVARIANT pointer to an in/out one
pointing at an initialised (PROP)VARIANT record (which the disassembled
MSOE.DLL code already "hinted" at) - and got my first non-error result.

I wasn't able to completely digest its 'purpose' section though, as the
fullness of the "Decodes a message header string" explanation thoroughly
overwelmed me. :-)
Post by JJ
Unbelievable! I have SDKs for NT3.1, NT4, Server 2003 R2, Vista, Win7,
Win8, and Win10. Yet, the `mimeole.h` only exist in Server 2003 R2 SDK.
And that was the one you looked in (and assumed the others would contain the
same). Whats the chance of that ? Lucky hits are lucky.
Post by JJ
If you want Server 2003 R2 SDK, CNET still has it.
[snip link]

Thank you, downloading it as we speak (was a bit sidetracked and I hadn't
searched for it yet). Lets see if I can unpack its contents and take a
peek at its (help) files ...

Regards,
Rudy Wieser
JJ
2020-10-09 04:36:39 UTC
Permalink
Post by R.Wieser
Post by JJ
Unbelievable! I have SDKs for NT3.1, NT4, Server 2003 R2, Vista, Win7,
Win8, and Win10. Yet, the `mimeole.h` only exist in Server 2003 R2 SDK.
And that was the one you looked in (and assumed the others would contain the
same). Whats the chance of that ? Lucky hits are lucky.
It's not a lucky hit. I searched it first in Win7 SDK, then Vista SDK, then
the rest (newer SDKs, then older SDKs); because the rest of the SDK files
are compressed in archives to save disk space. So, it's much slower+tedious
to find a specific reference in a header file.

I've checked Windows 2003 SP1 SDK from Microsoft site. It also has the
`mimeole.h` file. Perhaps your 2003 SDK is an older one? i.e. non SP1.
R.Wieser
2020-10-09 06:42:42 UTC
Permalink
JJ,
It's not a lucky hit. I searched it first in [snip]
Ah, I (somehow) got the impression that that 2003 SDK was the first one you
looked into.
Perhaps your 2003 SDK is an older one? i.e. non SP1.
I hadn't downloaded the 2003 SDK at that time, but a group of files starting
with the below one :

http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1.cab

(found mentioned here :
https://stackoverflow.com/questions/5728142/where-to-download-windows-xp-platform-sdk )

I've got no idea what its release date is.

Regards,
Rudy Wieser

Loading...