Make Compatible - Compatibility Bits

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:

    At death, you break up: the bits that were you
    Start speeding away from each other for ever
    With no one to see.
    Philip Larkin (1922–1986)