Microsoft KB Archive/137248

{|
 * width="100%"|

PRB: Cannot Load Module with Resource ID Greater Than 32767 (0x7FFF)

 * }

Q137248

-

The information in this article applies to:


 * Microsoft Win32 Software Development Kit (SDK), used with:
 * Microsoft Windows 95
 * Microsoft Windows 98

-

SYMPTOMS
The GetLastError function returns error 11:

An attempt was made to load a program with an incorrect format

In addition, the LoadLibrary, WinExec, or CreateProcess function fails if the module you are trying to load contains a resource identifier (ID) that is greater than 32767 (0x7FFF).

CAUSE
Windows 95 and Windows 98 use the high bit in the 16-bit resource ID to determine whether the resource ID is a numeric value or a string. When this bit is set, the operating system determines that the ID is a string. Therefore, it appears that the file is corrupted.

RESOLUTION
All applications must ensure that all of the resource IDs in their modules are less than 0x7FFF. These are resource IDs only (DIALOG, MENU, ICON, CURSOR, BITMAP, ACCELERATOR, FONT, and so on); control and menu IDs are not included in this restriction. String IDs can be as large as 0XFFFF.

Additional query words:

Keywords : kbResource kbGrpDSUser kbOSWin95 kbOSWin98

Issue type : kbprb

Technology : kbWin32SDKSearch kbAudDeveloper kbSDKSearch kbWin32sSearch