Método System.Runtime.InteropServices.Marshal.GetActiveObject
En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.
GetActiveObjectexpone la función GetActiveObject COM de OLEAUT32.DLL; sin embargo, esta última espera un identificador de clase (CLSID) en lugar del identificador de programación (ProgID
) esperado por este método. Para obtener una instancia en ejecución de un objeto COM sin un registradoProgID
, use la invocación de plataforma para definir la función GetActiveObject COM. Para obtener una descripción de la invocación de plataforma, consulte Consumo de funciones DLL no administradas.
ProgID y CLSID
Las claves del subárbol HKEY_CLASSES_ROOT del Registro contienen una variedad de tipos de subclave. La mayoría de las subclaves son ProgID, que asignan una cadena fácil de usar a un CLSID. Las aplicaciones suelen usar estas cadenas legibles en lugar de los CLSID numéricos. A menudo, un componente tiene un ProgID independiente de la versión que se asigna a la versión más reciente del componente instalado en el sistema.
Las aplicaciones y los componentes usan principalmente ProgID para recuperar sus CLSID correspondientes.