ICE42
ICE42 valide que les serveurs InProc ne sont pas liés aux fichiers EXE dans la table de classe. Il vérifie également que seules les classes LocalServer et LocalServer32 ont des arguments et des valeurs DefInProc.
Résultats
ICE42 publie une erreur si des serveurs InProc sont liés à des fichiers EXE dans la table de classe.
Exemple
ICE42 signale les erreurs suivantes pour l’exemple indiqué.
| Erreur ICE42 | Description |
|---|---|
| Le CLSID « {GUID1} » est un serveur INPROC, mais le composant d’implémentation « Composant1 » a un EXE (« test.exe ») comme keyfile. | Un fichier exécutable est spécifié en tant que serveur INPROC. Les fichiers EXE ne peuvent pas être des serveurs InProc. |
| Le CLSID « {GUID1} » dans le contexte « InProcServer32 » a un argument. Seuls les contextes LocalServer peuvent avoir des arguments. | Pour corriger cette erreur, supprimez l’argument. |
| Le CLSID « {GUID1} » dans le contexte « InProcServer32 » spécifie une valeur InProc par défaut. Seuls les contextes LocalServer peuvent avoir des valeurs InProc par défaut. | Il existe un objet avec une valeur InProc par défaut qui n’est pas un objet opérant dans les contextes LocalServer ou LocalServer32. Pour corriger cette erreur, supprimez la valeur DeflnProc ou modifiez le contexte de la classe. |
Table de classe (partielle)
| CLSID | Context | Composant_ | DefInProcHandler | Argument |
|---|---|---|---|---|
| GUID1 | InProcServer32 | Composant1 | InProcServer | Donnée |
Table des composants (partielle)
| Composant | KeyPath |
|---|---|
| Composant1 | Fichier1 |
Table de fichiers (partielle)
| Fichier | Nom de fichier |
|---|---|
| Fichier1 | test.exe |