[SDK] Add Resolution/Bitdepth shims + layers to the appcompat database. CORE-11927 #resolve

svn path=/trunk/; revision=73464
This commit is contained in:
Mark Jansen 2016-12-16 22:13:01 +00:00
parent f3f43843fe
commit 71d5b09683
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,20 @@
Sdb
Sdb files are Shim Databases.
They contain information about bad applications, and about the fixes that can be applied to them.
Shims
A shim is a piece of code that influences the process it's applied to.
This can be done by calling certain api's, or by changing the behavior of api's.
'DisableThemes' is an example of a shim that changes behavior by calling 'SetThemeAppProperties'.
'Win95VersionLie' is an example of a shim that changes behavior, by intercepting calls to GetVersion[Ex].
Layers
A layer is a collection (1..n) of shims.
Layers are used to reference a collection of shims by name.

View file

@ -4,6 +4,9 @@
<OS_PLATFORM >1</OS_PLATFORM>
<DATABASE_ID>{11111111-1111-1111-1111-111111111111}</DATABASE_ID>
<LIBRARY>
<!-- Version lie shims -->
<SHIM>
<NAME>Win95VersionLie</NAME>
<DLLFILE>aclayers.dll</DLLFILE>
@ -76,7 +79,29 @@
<NAME>Win7RTMVersionLie</NAME>
<DLLFILE>aclayers.dll</DLLFILE>
</SHIM>
<!-- Display mode shims -->
<SHIM>
<NAME>Force640x480</NAME>
<DLLFILE>aclayers.dll</DLLFILE>
</SHIM>
<SHIM>
<NAME>Force8BitColor</NAME>
<DLLFILE>aclayers.dll</DLLFILE>
</SHIM>
<!-- misc shims -->
<SHIM>
<NAME>DisableThemes</NAME>
<DLLFILE>acgenral.dll</DLLFILE>
</SHIM>
</LIBRARY>
<!-- Backwards compatibility layers, incomplete! -->
<LAYER>
<NAME>WIN95</NAME>
<SHIM_REF NAME="Win95VersionLie" />
@ -182,5 +207,26 @@
<SHIM_REF NAME="Win7RTMVersionLie" />
<!-- TODO: Add more fixes! -->
</LAYER>
<!-- Display mode layers -->
<LAYER>
<NAME>256Color</NAME>
<SHIM_REF NAME="DisableThemes" />
<SHIM_REF NAME="Force8BitColor" />
</LAYER>
<LAYER>
<NAME>640X480</NAME>
<SHIM_REF NAME="Force640x480" />
</LAYER>
<!-- misc layers -->
<LAYER>
<NAME>DisableThemes</NAME>
<SHIM_REF NAME="DisableThemes" />
</LAYER>
</DATABASE>
</SDB>