The Gestalt Manager and other system software facilities allows you to investigate the operating environment. You need to know about the operating environment if your application takes advantage of hardware or software that is not available on all Macintosh computers. You can also use the Gestalt Manager to inform the operating system that your software is present and to find out about other software registered with the Gestalt Manager.
Carbon supports the Gestalt Manager. However, the results returned by Gestalt functions in macOS are relevant only to your application's context. In general, the
Gestalt function returns a different result when called from a Carbon application running in macOS than it returns when called from a Classic application in macOS, because these are different environments. For example, Carbon does not use a ROM, so calling
Gestalt from a Carbon application on a beige G3 Macintosh computer and passing the
ROMVersion selector returns a different result than
Gestalt returns for a Classic application on the same computer. In fact,
Gestalt could conceivably return different results for the same call by two Carbon applications.
Gestalt operates on a per-context basis in macOS, you can't use it to share information (through pointers or any other means) among applications.
machineType selectors are not supported in Carbon.
In versions of the Mac OS prior to macOS, the
ReplaceGestalt functions make use of the system heap, so that new or replaced selectors are available to any process. In macOS, however, there is no system heap, and the selectors are available only on a per-context basis.