The information in this article applies to:
SYMPTOMS
When creating an exported function with the Microsoft Macro Assembler
(MASM) version 6.0, 6.0a, or 6.0b, the EXPORT keyword can be used in a
procedure definition and MASM will automatically generate the correct
.OBJ record to add it to the export table for the .EXE (or DLL). This
is useful when creating a procedure in a DLL that is called from
outside the DLL, when creating a callback procedure in an .EXE, or
when defining a procedure as residing in an IOPL segment with OS/2.
CAUSEThe problem results when you then use the EXPORT keyword in MASM for the procedure definition for the IOPL function as follows:
MASM will generate an EXPDEF (EXPort DEFinition) record that lists the
parameter word count as zero. If you then link with the .DEF file that
correctly lists the word count as three, the linker will return the
following error message:
RESOLUTIONThe workaround is to change the EXPORT keyword in the procedure definition to PUBLIC. STATUSMicrosoft has confirmed this to be a problem in MASM versions 6.0, 6.0a, and 6.0b. This problem was corrected in MASM for MS-DOS version 6.1. Sample CodeTEST.ASM
TEST.DEF
Additional query words: 6.00 6.00a 6.00b buglist6.00 buglist6.00a buglist6.00b fixlist6.10
Keywords : |
Last Reviewed: January 4, 2000 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |