Metodo System.Runtime.InteropServices.Marshal.GetActiveObject
Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.
GetActiveObject espone la funzione COM GetActiveObject da OLEAUT32.DLL. Tuttavia, quest'ultimo prevede un identificatore di classe (CLSID) anziché l'identificatore programmatico (ProgID
) previsto da questo metodo. Per ottenere un'istanza in esecuzione di un oggetto COM senza un oggetto registrato ProgID
, utilizzare platform invoke per definire la funzione COM GetActiveObject . Per una descrizione di platform invoke, vedere Utilizzo di funzioni DLL non gestite.
ProgID e CLSID
Le chiavi nel sottoalbero HKEY_CLASedizione StandardS_ROOT del Registro di sistema contengono diversi tipi di sottochiave. La maggior parte delle sottochiavi sono ProgID, che eseguono il mapping di una stringa descrittiva a un CLSID. Le applicazioni usano spesso queste stringhe leggibili anziché i CLSID numerici. Spesso, un componente ha un ProgID indipendente dalla versione mappato alla versione più recente del componente installato nel sistema.
Le applicazioni e i componenti usano principalmente i ProgID per recuperare i CLSID corrispondenti.