PRB: Running Early Apps Results in Error w/ RtlExAllocateHeap

PSS ID Number: Q103241
Article last modified on 12-23-1993

3.10
WINDOWS

----------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Win32 Software Development Kit (SDK) for Windows NT,
   version 3.1
----------------------------------------------------------------------

SYMPTOMS
========
The following error is received
   The procedure entry point RtlExAllocateHeap could not be
   located in the dynamic link library ntdll.dll.
when running applications on Windows NT version 3.1 that were built
with a version of the Win32 SDK earlier than the .404 (March) release.

CAUSE
=====
Applications built with the .404 (March) SDK or later should have no
problems running on Windows NT version 3.1. Applications built with
earlier SDKs are not guaranteed to run on the final release Windows
NT, even if they ran on the .404 release of Windows NT.

WORKAROUND
==========
The best way to work around the problem is to completely rebuild the
application with the latest tools. If this is not possible, the other
alternative is to patch the old executable with B2FIX.EXE, which can
be found in Library 1 of the MSLNG32 forum. The original intent of
this program is to patch Visual C++ 1.0 so that it can be used under
Windows NT.

MORE INFORMATION
================
Note that not all of the March SDK tools were built with the March
SDK. In particular, running the March SDK cl386 compiler will cause
this error. It is necessary to use the final SDK update or Visual C++
for Windows NT to create 32-bit applications on Windows NT.

Additional reference words: 3.10
KBCategory:
KBSubcategory:
Copyright Microsoft Corporation 1993.