Compartilhar via


Chave AppID

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

Chave do Registro

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppID_GUID}

Valor do Registro Descrição
AccessPermission Descreve a ACL (Lista de Controle de Acesso) das entidades de segurança que podem acessar instâncias dessa classe. Essa ACL é usada apenas 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 do qual são inicializados.
appID Identifica o GUID do AppID que corresponde ao executável nomeado.
appIDFlags Configura como um servidor COM configurado para ser executado como o "Usuário Interativo" será iniciado ou associado a 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 especificam um AppID.
DllSurrogate Permite que os servidores DLL sejam executados em um processo alternativo. Se uma cadeia de caracteres 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 alternativo personalizado, juntamente com o DllSurrogate valor do Registro.
pontos de extremidade Configura um aplicativo COM para usar um número de porta TCP especificado para comunicações DCOM.
LaunchPermission Descreve a ACL (Lista de Controle de Acesso) das entidades de segurança que podem iniciar novos servidores para essa classe.
LoadUserSettings Determina se o 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 preferencial, de 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 ROT (tabela de objetos em execução).
RunAs Configura uma classe para ser executada em uma conta de usuário específica quando ativada por um cliente remoto sem ser gravada como um aplicativo de serviço.
ServiceParameters Especifica os parâmetros de linha de comando a serem passados para um objeto instalado para uso pelo COM por meio do LocalService valor do registro.
SRPTrustLevel Define o nível de confiança da SRP (política de restrição de software) para aplicativos.

 

Observações

Os 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 AppID chave. 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 da AppID associada 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 de 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 de cliente seja "YourClient.exe" e você queira definir o nível de autenticação como "Nenhum". Você usaria Guidgen.exe ou Uuidgen.exe para criar o GUID que é o AppID para o executável. Em seguida, você definiria valores no registro, conforme mostrado no exemplo a seguir, em que 00000001 representa um nível de autenticação de "Nenhum":

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