News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Headers

Started by Yuri, December 29, 2012, 06:45:03 PM

Previous topic - Next topic

Yuri

Hi Edgar,
I seem to have found one mistake in winerror.h (line 2621).

#IFNDEF WIN64
#define NOERROR             0
#define E_UNEXPECTED                     0x8000FFFF
#define E_NOTIMPL                        0x80004001
#define E_OUTOFMEMORY                    0x8007000E
#define E_INVALIDARG                     0x80070057
etc.
#else
#define E_NOTIMPL                        0x80000001
#define E_OUTOFMEMORY                    0x80000002
#define E_INVALIDARG                     0x80000003
etc.
#endif //WIN32

I've noticed that the first set of error codes is returned by both x86 and x64 COM objects. It looks like in the original MS headers "_WIN32" doesn't mean "not _WIN64", since they are both defined, for example, when you build a 64-bit C++ program in Visual Studio.

Original WinError.h.

#if defined(_WIN32) && !defined(_MAC)
//
// MessageId: E_NOTIMPL
//
// MessageText:
//
// Not implemented
//
#define E_NOTIMPL                        _HRESULT_TYPEDEF_(0x80004001L)

Donkey

Thanks Yuri,

I'll correct the error, probably have an upload next weekend with several small fixes.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable