Partilhar via


Chave AppID

Agrupa as opções de configuração para um ou mais objetos DCOM em um local centralizado no Registro. Os objetos DCOM hospedados pelo mesmo executável são agrupados em um AppID para simplificar o gerenciamento de definições comuns de segurança e configuração.

Chave de registo

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppID_GUID}

Valor do Registro Descrição
AccessPermission Descreve a lista de controle de acesso (ACL) dos principais que podem acessar instâncias dessa classe. Essa ACL é usada somente por aplicativos que não chamam CoInitializeSecurity.
ActivateAtStorage Configura o cliente para instanciar objetos no mesmo computador que o estado persistente que eles estão usando ou a partir do qual eles são inicializados.
AppID Identifica o GUID AppID que corresponde ao executável nomeado.
AppIDFlags Configura como um servidor COM configurado para ser executado como "Usuário interativo" será iniciado ou vinculado por um cliente em uma área de trabalho não padrão.
AuthenticationLevel Define o nível de autenticação para aplicativos que não chamam CoInitializeSecurity ou para aplicativos que chamam CoInitializeSecurity e especificar um AppID.
DllSurrogate Permite que os servidores DLL sejam executados em um processo substituto. Se uma string vazia for especificada, o substituto fornecido pelo sistema será usado; caso contrário, o valor especifica o caminho do substituto a ser usado.
DllSurrogateExecutable Permite que os servidores DLL sejam executados em um processo substituto personalizado, em conjunto com o DllSurrogate valor do Registro.
Endpoints Configura um aplicativo COM para usar um número de porta TCP especificado para comunicações DCOM.
LaunchPermission Descreve a lista de controle de acesso (ACL) dos principais que podem iniciar novos servidores para essa classe.
LoadUserSettings Determina se COM carregará o perfil de usuário para servidores COM em execução como a identidade do aplicativo de usuário inicial.
LocalService Instala um objeto como um aplicativo de serviço.
PreferredServerBitness Define a arquitetura preferida, 32 bits ou 64 bits, para este servidor COM.
RemoteServerName Configura o cliente para solicitar que o objeto seja executado em um computador específico sempre que uma função de ativação é chamada para a qual uma estrutura deCOSERVERINFOnão é especificada.
ROTFlags Controla o registro de um servidor COM na tabela de objetos em execução (ROT).
RunAs Configura uma classe para ser executada em uma conta de usuário específica quando ativada por um cliente remoto sem ser escrita como um aplicativo de serviço.
ServiceParameters Especifica os parâmetros de linha de comando a serem passados para um objeto instalado para uso por COM por meio do LocalService valor do Registro.
SRPTrustLevel Define o nível de confiança da diretiva de restrição de software (SRP) para aplicativos.

 

Comentários

AppIDs são mapeados para executáveis e classes usando dois mecanismos diferentes:

  • Usando um GUID (Identificador Global Exclusivo) de 128 bits que identifica a chave AppID. Uma classe indica seu AppID correspondente sob a chaveCLSIDem um valor nomeado "AppID". Esse mapeamento é usado durante a ativação.
  • Usando um valor nomeado que indica um nome executável (como "MYOLDAPP.EXE"). Esse valor nomeado é do tipo REG_SZ e contém a representação de cadeia de caracteres do AppID associado ao executável. Esse mapeamento é usado para obter as permissões de acesso padrão e o nível de autenticação.

A chave HKEY_LOCAL_MACHINE\SOFTWARE\Classes corresponde à chave HKEY_CLASSES_ROOT, que foi mantida para compatibilidade com versões anteriores do COM.

Para servidores COM, o mapeamento geralmente é gerado e gravado no registro durante o processo de registro ou ao executar dcomcnfg.exe. No entanto, os clientes COM que desejam definir a segurança usando a chave AppID devem criar chaves do Registro apropriadas e especificar o mapeamento necessário chamando as funções do Registro ou usando Regedit.exe. Em seguida, valores como AccessPermission ou AuthenticationLevel podem ser definidos para o cliente. Por exemplo, suponha que o nome do seu executável para o processo do cliente é "YourClient.exe" e você deseja definir o nível de autenticação como "Nenhum". Você usaria Guidgen.exe ou Uuidgen.exe para criar o GUID que é o AppID para seu executável. Em seguida, você definiria valores no registro como mostrado no exemplo a seguir, onde 00000001 representa um nível de autenticação de "Nenhum":

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
   {MyGuid}
      AuthenticationLevel = 00000001
   MyClient.exe
      AppID = {MyGUID}