Compatibility Bits
Each of the options is recorded in a system database of so-called "compatibility bits". This is a database of 1-bit flags, one for each of the options displayed by Make Compatible.
This database already existed in earlier versions of Windows. In Windows 3.1, the database is stored in the section of win.ini, with entries such as:
-
ACAD=0x8000
AMIPRO=0x04000010
Each line names an application program, and gives a hexadecimal numeric constant to associate with that program. The hexadecimal numeric constant encodes the compatibility bitflags for that particular application, that Windows applies when the application is executed. Make Compatible merely provides a graphical user interface for editing these flags in an easy way, rather than editing win.ini manually, with a text editor. It allows one to set and unset individual flags without having to know their numeric values.
The compatibility bitflags settable in win.ini are not documented in the WININI.WRI file that ships with Windows 3.1, or in the Microsoft Windows 3.1 Resource Kit published by Microsoft. They are listed as a simple set of defined constants (with names beginning "GACF_" for "GetAppCompatFlags"), without explanation, in the windows.h header file that is shipped with the Microsoft Windows 3.1 Device driver Development Kit. In Windows 3.1, the compatibility flags that are in effect for any given task in the kernel's Task Database are readable via the undocumented GetAppCompatFlags
function that is exported from the KERNEL module.
Read more about this topic: Make Compatible
Famous quotes containing the word bits:
“You have to begin to lose your memory, if only in bits and pieces, to realize that memory is what makes our lives. Life without memory is no life at all, just as an intelligence without the possibility of expression is not really an intelligence. Our memory is our coherence, our reason, our feeling, even our action. Without it, we are nothing.”
—Luis Buñuel (19001983)