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



The information in this article applies to:

  • Microsoft Platform Software Development Kit (SDK) 1.0, when used with:
    • Microsoft Windows 95
    • Microsoft Windows 98

This article was previously published under Q137248

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.

Modification Type:MinorLast Reviewed:7/11/2005
Keywords:kbprb kbResource KB137248