ID Number: Q69805
3.00
WINDOWS
buglist3.00 fixlist3.10
Summary:
PROBLEM ID: WIN9103026
SYMPTOMS
When running an application under the debugging version of Windows
version 3.0, Windows reports fatal exit 0x0403 "invalid ordinal
reference."
CAUSE
An exported function in a Windows dynamic-link library (DLL) was
declared with the RESIDENTNAME attribute in the DEF file associated
with the DLL.
RESOLUTION
Microsoft has confirmed this to be a problem in Windows version
3.0. Either of the following will resolve this problem:
- Do not associate the RESIDENTNAME attribute with any exported
function other than the Windows exit procedure (WEP) of the DLL.
The WEP MUST be declared with the RESIDENTNAME attribute.
-or-
- The application can declare links to the functions of the DLL by
using the IMPORTS section of its module definition file. When
this is done, it is not necessary to use the IMPLIB utility.
For example, a DLL's module definition file, DLL.DEF, contains
the following text:
EXPORTS
zippo @2 RESIDENTNAME
harpo @3 RESIDENTNAME
An application can avoid this problem by using the following
text in its module definition file, APP.DEF:
IMPORTS
zippo = mydll.2
harpo = mydll.3
This problem was corrected in Windows version 3.1.
Additional reference words: 3.00 SR# G910108-2