Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A infraestrutura de compatibilidade usa um banco de dados para identificar problemas de compatibilidade do aplicativo e suas soluções. Esse banco de dados é um arquivo binário indexado com uma extensão .sdb. A infraestrutura de compatibilidade fornece uma interface de programação para acessar o banco de dados.
Problemas de compatibilidade podem ser resolvidos em uma base de aplicativo por aplicativo em tempo de execução. Cada aplicativo especificado no banco de dados contém um ou mais componentes que precisam de uma solução. Os componentes são arquivos executáveis que geralmente são descritos usando seus atributos de arquivo (por exemplo, soma de verificação).
O processo de pesquisa de banco de dados e determinar as soluções para cada aplicativo é chamado correspondente. Os atributos de arquivo e a presença de arquivos associados na pasta ou subpasta que contém o arquivo .exe podem ser usados para criar uma correspondência exclusiva. Os arquivos associados são chamados arquivos correspondentes.
Um TAG é um identificador exclusivo para as entradas e atributos no banco de dados. A do tipo TAG indica o formato dos dados associados ao TAG. Por exemplo, TAG_NAME é do tipo TAG_TYPE_STRINGREF; os dados para TAG_NAME é uma cadeia de caracteres de nome. Um TAGID é um ponteiro para uma entrada em um banco de dados específico. Um TAGREF é um ponteiro para uma entrada que pode ser usada em vários bancos de dados.
Atributos de arquivo são metadados associados a um arquivo em disco. Esses atributos incluem o nome do arquivo, o tamanho do arquivo, a soma de verificação, a versão e a data. Esses atributos são usados para determinar se um arquivo que está sendo carregado pelo sistema corresponde a uma entrada de banco de dados. Portanto, esses atributos de arquivo também são chamados atributos correspondentes.
Soluções
As soluções mais comuns aplicadas aos componentes de um aplicativo são Apphelp e Appfix.
Com o Apphelp, uma notificação personalizada de mensagem localizada é exibida, normalmente quando o aplicativo é instalado ou iniciado. Ele contém um texto breve que explica o problema de compatibilidade e fornece a opção de continuar executando o aplicativo. No entanto, alguns aplicativos falharão drasticamente e poderão ser executados; O Apphelp não dará ao usuário a opção de continuar executando esses aplicativos.
Com o Appfix, os ganchos são instalados para APIs chamadas pelos componentes do aplicativo. Esses ganchos apontam para funções stub que podem ser chamadas em vez das funções do sistema (também conhecidas como shimming). As funções stub executam as operações necessárias para permitir que o aplicativo seja executado na versão instalada do Windows. Cada função stub pode, opcionalmente, chamar a função do sistema depois de concluir seu trabalho. Uma camada de compatibilidade ou modo contém um ou mais sinalizadores e shims.
Nesta seção
- APPHELP_DATA
- ATTRINFO
- BaseFlushAppcompatCache
- FIND_INFO
- INDEXID
- PATH_TYPE
- SdbBeginWriteListTag
- SdbCloseDatabase
- SdbCloseDatabaseWrite
- SdbCommitIndexes
- SdbCreateDatabase
- SdbDeclareIndex
- SdbEndWriteListTag
- SdbFindFirstDWORDIndexedTag
- SdbFindFirstTag
- SdbFindNextTag
- SdbFormatAttribute
- SdbFreeFileAttributes
- SdbGetAppPatchDir
- SdbGetBinaryTagData
- SdbGetFileAttributes
- SdbGetFirstChild
- SdbGetIndex
- SdbGetMatchingExe
- SdbGetNextChild
- SdbGetStringTagPtr
- SdbGetTagFromTagID
- SdbInitDatabase
- SdbIsStandardDatabase
- SdbMakeIndexKeyFromString
- SdbOpenApphelpDetailsDatabase
- SdbOpenApphelpResourceFile
- SdbOpenDatabase
- SdbQueryDataExTagID
- SDBQUERYRESULT
- SdbReadApphelpDetailsData
- SdbReadBinaryTag
- SdbReadDWORDTag
- SdbReadQWORDTag
- SdbReadStringTag
- SdbRegisterDatabaseEx
- SdbReleaseDatabase
- SdbReleaseMatchingExe
- SdbStartIndexing
- SdbStopIndexing
- SdbTagRefToTagID
- SdbTagToString
- SdbUnregisterDatabase
- SdbWriteBinaryTag
- SdbWriteBinaryTagFromFile
- SdbWriteDWORDTag
- SdbWriteNULLTag
- SdbWriteQWORDTag
- SdbWriteStringTag
- SdbWriteWORDTag
- tipos de banco de dados shim
- ShimFlushCache
- tag
- tipos de MARCA
- TAGID
- TAGREF