Chiave AppID

Raggruppa le opzioni di configurazione per uno o più oggetti DCOM in una posizione centralizzata nel Registro di sistema. Gli oggetti DCOM ospitati dallo stesso eseguibile vengono raggruppati in un AppID per semplificare la gestione delle impostazioni di sicurezza e configurazione comuni.

Chiave del Registro di sistema

\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID{AppID_GUID}

Valore del Registro di sistema Descrizione
AccessPermission Descrive l'elenco Controllo di accesso (ACL) delle entità che possono accedere alle istanze di questa classe. Questo ACL viene usato solo dalle applicazioni che non chiamano CoInitializeSecurity.
ActivateAtStorage Configura il client per creare un'istanza di oggetti nello stesso computer dello stato permanente usato o da cui vengono inizializzati.
Appid Identifica il GUID AppID corrispondente all'eseguibile denominato.
AppIDFlags Configura il modo in cui un server COM configurato per l'esecuzione come "Utente interattivo" verrà avviato o associato a da un client in un desktop non predefinito.
AuthenticationLevel Imposta il livello di autenticazione per le applicazioni che non chiamano CoInitializeSecurity o per le applicazioni che chiamano CoInitializeSecurity e specificano un AppID.
DllSurrogate Consente l'esecuzione dei server DLL in un processo surrogato. Se viene specificata una stringa vuota, viene utilizzato il surrogato fornito dal sistema; in caso contrario, il valore specifica il percorso del surrogato da utilizzare.
DllSurrogateExecutable Consente l'esecuzione dei server DLL in un processo surrogato personalizzato, insieme al valore del Registro di sistema DllSurrogate .
Endpoint Configura un'applicazione COM per l'uso di un numero di porta TCP specificato per le comunicazioni DCOM.
LaunchPermission Descrive l'elenco Controllo di accesso (ACL) delle entità che possono avviare nuovi server per questa classe.
LoadUserSettings Determina se COM caricherà il profilo utente per i server COM in esecuzione come identità dell'applicazione utente di avvio.
LocalService Installa un oggetto come applicazione di servizio.
PreferredServerBitness Imposta l'architettura preferita, a 32 bit o a 64 bit, per questo server COM.
RemoteServerName Configura il client per richiedere l'esecuzione dell'oggetto in un determinato computer ogni volta che viene chiamata una funzione di attivazione per la quale non viene specificata una struttura COSERVERINFO .
ROTFlags Controlla la registrazione di un server COM nella tabella degli oggetti in esecuzione (ROT).
Runas Configura una classe da eseguire con un account utente specifico quando viene attivato da un client remoto senza essere scritto come applicazione di servizio.
ServiceParameters Specifica i parametri della riga di comando da passare a un oggetto installato da COM tramite il valore del Registro di sistema LocalService .
SRPTrustLevel Imposta il livello di attendibilità dei criteri di restrizione software (SRP) per le applicazioni.

 

Commenti

Gli ID app vengono mappati a file eseguibili e classi usando due meccanismi diversi:

  • Uso di un GUID (Global Unique Identifier) a 128 bit che identifica la chiave AppID . Una classe indica il valore AppID corrispondente nella chiave CLSID in un valore denominato "AppID". Questo mapping viene usato durante l'attivazione.
  • Uso di un valore denominato che indica un nome eseguibile, ad esempio "MYOLDAPP.EXE". Questo valore denominato è di tipo REG_SZ e contiene la rappresentazione di stringa dell'AppID associato all'eseguibile. Questo mapping viene usato per ottenere le autorizzazioni di accesso predefinite e il livello di autenticazione.

La chiave HKEY_LOCAL_MACHINE\SOFTWARE\Classes corrisponde alla chiave HKEY_CLASSES_ROOT , che è stata mantenuta per la compatibilità con le versioni precedenti di COM.

Per i server COM, il mapping viene in genere generato e scritto nel Registro di sistema durante il processo di registrazione o durante l'esecuzione di dcomcnfg.exe. Tuttavia, i client COM che vogliono impostare la sicurezza usando la chiave AppID devono creare chiavi del Registro di sistema appropriate e specificare il mapping richiesto chiamando le funzioni del Registro di sistema o usando Regedit.exe. È quindi possibile impostare valori come AccessPermission o AuthenticationLevel per il client. Si supponga, ad esempio, che il nome del file eseguibile per il processo client sia "YourClient.exe" e si voglia impostare il livello di autenticazione su "Nessuno". È possibile usare Guidgen.exe o Uuidgen.exe per creare il GUID che corrisponde all'AppID per il file eseguibile. Impostare quindi i valori nel Registro di sistema, come illustrato nell'esempio seguente, dove 00000001 rappresenta un livello di autenticazione "None":

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