Compartilhar via


Método System.Runtime.InteropServices.Marshal.GetActiveObject

Este artigo fornece observações complementares à documentação de referência para essa API.

GetActiveObjectexpõe a função GetActiveObject COM de OLEAUT32.DLL; no entanto, o último espera um identificador de classe (CLSID) em vez do identificador programático (ProgID) esperado por esse método. Para obter uma instância em execução de um objeto COM sem um registrado ProgID, use platform invoke para definir a função COM GetActiveObject . Para obter uma descrição da invocação de plataforma, consulte Consumindo funções de DLL não gerenciadas.

ProgID e CLSID

As chaves na subárvore HKEY_CLASSES_ROOT do registro contêm uma variedade de tipos de subchave. A maioria das subchaves são ProgIDs, que mapeiam uma cadeia de caracteres amigável para um CLSID. Os aplicativos geralmente usam essas cadeias de caracteres legíveis por humanos em vez dos CLSIDs numéricos. Muitas vezes, um componente tem um ProgID independente de versão que é mapeado para a versão mais recente do componente que está instalado no sistema.

Aplicativos e componentes usam principalmente ProgIDs para recuperar seus CLSIDs correspondentes.