Clé AppID

Regroupe les options de configuration d’un ou de plusieurs objets DCOM dans un emplacement centralisé dans le Registre. Les objets DCOM hébergés par le même exécutable sont regroupés dans un Seul AppID pour simplifier la gestion des paramètres de configuration et de sécurité courants.

Clé de Registre

\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID{AppID_GUID}

Valeur de Registre Description
AccessPermission Décrit la liste de Access Control (ACL) des principaux qui peuvent accéder aux instances de cette classe. Cette liste de contrôle d’accès est utilisée uniquement par les applications qui n’appellent pas CoInitializeSecurity.
ActivateAtStorage Configure le client pour instancier des objets sur le même ordinateur que l’état persistant qu’il utilise ou à partir duquel ils sont initialisés.
Appid Identifie le GUID AppID qui correspond au fichier exécutable nommé.
AppIDFlags Configure la façon dont un serveur COM configuré pour s’exécuter en tant qu'« utilisateur interactif » sera lancé ou lié par un client dans un bureau autre que celui par défaut.
AuthenticationLevel Définit le niveau d’authentification pour les applications qui n’appellent pas CoInitializeSecurity ou pour les applications qui appellent CoInitializeSecurity et spécifient un AppID.
DllSurrogate Permet aux serveurs DLL de s’exécuter dans un processus de substitution. Si une chaîne vide est spécifiée, le substitut fourni par le système est utilisé ; sinon, la valeur spécifie le chemin du substitut à utiliser.
DllSurrogateExecutable Permet aux serveurs DLL de s’exécuter dans un processus de substitution personnalisé, conjointement avec la valeur de Registre DllSurrogate .
Points de terminaison Configure une application COM pour utiliser un numéro de port TCP spécifié pour les communications DCOM.
LaunchPermission Décrit la liste de Access Control (ACL) des principaux qui peuvent démarrer de nouveaux serveurs pour cette classe.
LoadUserSettings Détermine si COM chargera le profil utilisateur pour les serveurs COM s’exécutant en tant qu’identité d’application utilisateur de lancement.
LocalService Installe un objet en tant qu’application de service.
PreferredServerBitness Définit l’architecture préférée, 32 bits ou 64 bits, pour ce serveur COM.
RemoteServerName Configure le client pour demander l’exécution de l’objet sur un ordinateur particulier chaque fois qu’une fonction d’activation est appelée pour laquelle aucune structure COSERVERINFO n’est spécifiée.
ROTFlags Contrôle l’inscription d’un serveur COM dans la table d’objets en cours d’exécution (ROT).
RunAs Configure une classe pour qu’elle s’exécute sous un compte d’utilisateur spécifique lorsqu’elle est activée par un client distant sans être écrite en tant qu’application de service.
ServiceParameters Spécifie les paramètres de ligne de commande à passer à un objet installé pour une utilisation par COM via la valeur de Registre LocalService .
SRPTrustLevel Définit le niveau d’approbation de la stratégie de restriction logicielle (SRP) pour les applications.

 

Notes

Les ID d’application sont mappés à des exécutables et des classes à l’aide de deux mécanismes différents :

  • Utilisation d’un identificateur global unique (GUID) 128 bits qui identifie la clé AppID . Une classe indique son AppID correspondant sous la clé CLSID dans une valeur nommée « AppID ». Ce mappage est utilisé pendant l’activation.
  • Utilisation d’une valeur nommée qui indique un nom exécutable (par exemple, « MYOLDAPP.EXE »). Cette valeur nommée est de type REG_SZ et contient la représentation sous forme de chaîne de l’AppID associé à l’exécutable. Ce mappage est utilisé pour obtenir les autorisations d’accès et le niveau d’authentification par défaut.

La cléHKEY_LOCAL_MACHINE\SOFTWARE\Classescorrespond à la clé HKEY_CLASSES_ROOT, qui a été conservée pour assurer la compatibilité avec les versions antérieures de COM.

Pour les serveurs COM, le mappage est généralement généré et écrit dans le Registre pendant le processus d’inscription ou lors de l’exécution de dcomcnfg.exe. Toutefois, les clients COM qui souhaitent définir la sécurité à l’aide de la clé AppID doivent créer des clés de Registre appropriées et spécifier le mappage requis en appelant les fonctions de Registre ou en utilisant Regedit.exe. Ensuite, des valeurs telles que AccessPermission ou AuthenticationLevel peuvent être définies pour le client. Par exemple, supposons que le nom de votre exécutable pour votre processus client soit « YourClient.exe » et que vous souhaitez définir le niveau d’authentification sur « None ». Vous utilisez Guidgen.exe ou Uuidgen.exe pour créer le GUID correspondant à l’AppID de votre exécutable. Ensuite, vous devez définir des valeurs dans le Registre comme indiqué dans l’exemple suivant, où 00000001 représente un niveau d’authentification « None » :

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