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

This article was previously published under Q137248
This article has been archived. It is offered "as is" and will no longer be updated.
SYMPTOMS
The GetLastError function returns error 11:
An attempt was made to loada program with an incorrect format
In addition, the LoadLibrary, WinExec, orCreateProcess function fails if the module you are trying to loadcontains a resource identifier (ID) that is greater than 32767 (0x7FFF).
CAUSE
Windows 95 and Windows 98 use the high bit in the 16-bit resourceID 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.
Properties

Article ID: 137248 - Last Review: 01/09/2015 05:22:47 - Revision: 1.3

  • Microsoft Platform Software Development Kit-January 2000 Edition
  • kbnosurvey kbarchive kbresource kbprb KB137248
Feedback