Compartilhar via


Monikers de classe

Embora as classes normalmente sejam identificadas diretamente com CLSIDs para funções como CoCreateInstance ou CoGetClassObject, as classes também agora podem ser identificadas com um moniker chamado classe moniker. Os monikers de classe se associam ao objeto de classe da classe para a qual são criados.

A capacidade de identificar classes com um moniker dá suporte a operações úteis que, de outra forma, são desordeiras. Por exemplo, os monikers de arquivo tradicionalmente suportavam a associação avançada apenas para a classe associada à classe de arquivo à qual se referiam; um moniker para um arquivo do Excel associaria a uma instância de um objeto do Excel e um moniker a uma imagem GIF seria associado a uma instância do manipulador GIF registrado no momento. Um moniker de classe permite que você indique a classe que deseja usar para manipular um arquivo por meio da composição com um moniker de arquivo. Um moniker de classe para uma classe de gráfico 3D composta com um moniker para um arquivo do Excel produz um moniker que se associa a uma instância do objeto de gráfico 3D e inicializa o objeto com o conteúdo do arquivo do Excel.

Os monikers de classe são, portanto, mais úteis na composição com outros tipos de apelidos, como monikers de arquivo ou monikers de item.

Os monikers de classe também podem ser compostos à direita de monikers que dão suporte à associação à interface dedo IClassActivator. Quando composto dessa maneira, IClassActivator simplesmente dá acesso ao objeto de classe e instâncias da classe por meio de IClassActivator::GetClassObject. Os apelidos de classe podem ser identificados por meio IMoniker::IsSystemMoniker, que retorna MKSYS_CLASSMONIKER em pdwMksys.

Os programadores normalmente criam monikers de classe usando a função CreateClassMoniker ou por meio de MkParseDisplayName. (Consulte IMoniker::P arseDisplayName para obter detalhes.)

anti-monikers

monikers compostos

monikers de arquivo

monikers de item

monikers de ponteiro