Microsoft KB Archive/316315

From BetaArchive Wiki
Knowledge Base


PRB: Error Message: The Device Driver Could Not Locate the Entry Point _Except_Handler3 in the Driver Ntoskrnl.exe

Article ID: 316315

Article Last Modified on 2/12/2007



APPLIES TO

  • Microsoft Win32 Device Driver Kit for Windows 2000
  • Microsoft Windows XP Driver Development Kit
  • Microsoft Windows NT 4.0



This article was previously published under Q316315

SYMPTOMS

Earlier versions of drivers ("legacy" drivers) that are built and compiled with the Windows 2000 Driver Development Kit (DDK) and the Windows XP DDK, and which contain Structured Exception Handling (SEH), do not load on the Windows NT 4.0 system. Instead, you may receive the following error message:

The device driver could not locate the entry point _except_handler3 in the driver ntoskrnl.exe.

CAUSE

This behavior occurs because the Windows 2000 and Windows XP compilers link the driver to an nonexistent entry in the Windows NT Ntoskrnl.exe library.

RESOLUTION

To resolve this issue, add the following line of code to the sources file before you compile the driver:

LINKER_FLAGS=$(SDK_LIB_PATH)\exsup.lib
                

This links your driver to the appropriate exception handler library and prevents you from receiving any load-time error message.

NOTE: In the free build environment, you need to change the optimization from the default (Oxs) to (Ox). You can do that by typing set MSC_OPTIMIZATION=/Ox. Also, Exsup.lib is only available in the Windows XP DDK. For additional information on the DDK, see the following Microsoft Web site:

STATUS

This is a known issue with the programs listed at the beginning of this article.

Keywords: kberrmsg kbkmode kbnofix kbprb KB316315