Padrão de controle ObjectModel
Descreve diretrizes e convenções para implementar IObjectModelProvider, incluindo informações sobre métodos. O padrão de controle ObjectModel é usado para expor um ponteiro para o modelo de objeto subjacente de um documento.
Muitos aplicativos implementam modelos de objetos avançados que agregam valor além do que o Microsoft Automação da Interface do Usuário fornece. Esse padrão de controle permite que um cliente navegue de um elemento Automação da Interface do Usuário para o modelo de objeto subjacente.
Este tópico inclui as seções a seguir.
- Diretrizes e convenções de implementação
- Membros necessários para IObjectModelProvider
- Tópicos relacionados
Diretrizes e convenções de implementação
Ao implementar o padrão de controle ObjectModel , observe as seguintes diretrizes e convenções:
- O método IObjectModelProvider::GetUnderlyingObjectModel deve retornar um ponteiro para o objeto que é o mais próximo possível do elemento de interface do usuário de origem. Por exemplo, em um navegador da Web, um provedor de Automação da Interface do Usuário para um único elemento deve retornar um ponteiro de modelo de objeto para o elemento . Retornar um ponteiro de modelo de objeto para a raiz do documento seria muito menos útil.
- Espera-se que o cliente do padrão de controle ObjectModel tenha o IID para a interface que eles estão buscando, razão pela qual é suficiente para retornar um ponteiro IUnknown simples.
- Como Automação da Interface do Usuário realiza marshaling do ponteiro para o processo do cliente, o provedor deve esperar que o cliente acesse o modelo de objeto usando práticas padrão do COM (Component Object Model).
Membros necessários para IObjectModelProvider
O método a seguir é necessário para implementar a interface IObjectModelProvider .
Membros necessários | Tipo de membro | Observações |
---|---|---|
GetUnderlyingObjectModel | Método | Retorna um ponteiro COM para o modelo de objeto subjacente. Espera-se que o cliente chame o método IUnknown::QueryInterface para recuperar ponteiros específicos do modelo de objeto. |
Esse padrão de controle não tem eventos associados.
Tópicos relacionados