Diagnosing Bitness: DUMPBIN and EXEHDR

Hi, Dr. GUI:

Just want to know if KRNL386.EXE is 32 bit, just like VMM32.EXE. Or it is like the rest, 16 bit?

Alan Cheng

Dr. GUI replies:

Ah—how do you tell what bitness you are? Dr. GUI knows how to diagnose this problem. But, first: KRNL386.EXE is a 16-bit program. The Windows 95 operating system is implemented as a collection of 32-bit components and 16-bit components. These components interact with each other via the flat thunk mechanism. KRNL386.EXE is the 16-bit component of Kernel and KERNEL32.DLL is the 32-bit component of Kernel. Similarly, you have:

• GDI.EXE (16 bit) / GDI32.DLL (32 bit) and
• USER.EXE (16 bit) / USER32.DLL (32 bit)

You can easily tell the bitness of each of these files by running EXEHDR or DUMPBIN on them. If DUMPBIN recognizes a file, it is 32 bit. If EXEHDR does, it is 16 bit.