Compartir vía


Clave appID

Agrupa las opciones de configuración de uno o varios objetos DCOM en una ubicación centralizada en el Registro. Los objetos DCOM hospedados por el mismo ejecutable se agrupan en un AppID para simplificar la administración de las opciones comunes de seguridad y configuración.

Clave del Registro

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppID_GUID}

Valor del Registro Descripción
accessPermission Describe la lista de control de acceso (ACL) de las entidades de seguridad que pueden acceder a instancias de esta clase. Esta ACL solo la usan las aplicaciones que no llaman a CoInitializeSecurity.
ActivateAtStorage Configura el cliente para crear instancias de objetos en el mismo equipo que el estado persistente que usan o desde el que se inicializan.
appID Identifica el GUID de AppID que corresponde al ejecutable con nombre.
AppIDFlags Configura cómo se iniciará o enlazará un servidor COM configurado para que se ejecute como "Usuario interactivo" o se enlazará a un cliente en un escritorio no predeterminado.
AuthenticationLevel de Establece el nivel de autenticación para las aplicaciones que no llaman a CoInitializeSecurity o para las aplicaciones que llaman a CoInitializeSecurity y especifican un AppID.
dllSurrogate Permite que los servidores DLL se ejecuten en un proceso suplente. Si se especifica una cadena vacía, se usa el suplente suministrado por el sistema; De lo contrario, el valor especifica la ruta de acceso del suplente que se va a usar.
DllSurrogateExecutable Permite que los servidores DLL se ejecuten en un proceso suplente personalizado, junto con el DllSurrogate valor del Registro.
puntos de conexión de Configura una aplicación COM para usar un número de puerto TCP especificado para las comunicaciones DCOM.
launchPermission Describe la lista de control de acceso (ACL) de las entidades de seguridad que pueden iniciar nuevos servidores para esta clase.
LoadUserSettings Determina si COM cargará el perfil de usuario para los servidores COM que se ejecutan como identidad de aplicación de usuario de inicio.
localService Instala un objeto como aplicación de servicio.
preferredServerBitness Establece la arquitectura preferida, de 32 o 64 bits, para este servidor COM.
remoteServerName Configura el cliente para solicitar que el objeto se ejecute en un equipo determinado siempre que se llame a una función de activación para la que no se especifique una estructura COSERVERINFO.
ROTFlags Controla el registro de un servidor COM en la tabla de objetos en ejecución (ROT).
RunAs Configura una clase para que se ejecute en una cuenta de usuario específica cuando se activa mediante un cliente remoto sin escribirse como una aplicación de servicio.
ServiceParameters Especifica los parámetros de la línea de comandos que se van a pasar a un objeto instalado para su uso por COM a través del valor del Registro de LocalService.
SRPTrustLevel Establece el nivel de confianza de la directiva de restricción de software (SRP) para las aplicaciones.

 

Observaciones

Los appID se asignan a archivos ejecutables y clases mediante dos mecanismos diferentes:

  • Con un identificador único global (GUID) de 128 bits que identifica la clave de AppID. Una clase indica su AppID correspondiente en el CLSID clave en un valor con nombre "AppID". Esta asignación se usa durante la activación.
  • Con un valor con nombre que indica un nombre ejecutable (como "MYOLDAPP.EXE"). Este valor con nombre es de tipo REG_SZ y contiene la representación de cadena del AppID asociado al ejecutable. Esta asignación se usa para obtener los permisos de acceso predeterminados y el nivel de autenticación.

La clave HKEY_LOCAL_MACHINE\SOFTWARE\Classes corresponde a la clave de HKEY_CLASSES_ROOT, que se conservaba por compatibilidad con versiones anteriores de COM.

En el caso de los servidores COM, la asignación normalmente se genera y escribe en el registro durante el proceso de registro o cuando se ejecuta dcomcnfg.exe. Sin embargo, los clientes COM que quieran establecer la seguridad mediante la clave appID de deben crear las claves del Registro adecuadas y especificar la asignación necesaria llamando a las funciones del Registro de o mediante Regedit.exe. A continuación, se pueden establecer valores como AccessPermission o AuthenticationLevel para el cliente. Por ejemplo, supongamos que el nombre del archivo ejecutable para el proceso de cliente es "YourClient.exe" y quiere establecer el nivel de autenticación en "None". Usaría Guidgen.exe o Uuidgen.exe para crear el GUID que es appID para el archivo ejecutable. A continuación, establecería valores en el Registro como se muestra en el ejemplo siguiente, donde 00000001 representa un nivel de autenticación de "None":

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