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 a Automação da Interface do Usuário da Microsoft fornece. Esse padrão de controle permite que um cliente navegue de um elemento de Automação de Interface do Usuário para o modelo de objeto subjacente.
Este tópico contém 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 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 de 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 a IID para a interface que eles estão buscando, razão pela qual é suficiente para retornar um ponteiroIUnknownsimples.
- Como a Automação da Interface do Usuário faz 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 de COM (Component Object Model).
Membros necessários para IObjectModelProvider
O método a seguir é necessário para implementar a interfaceIObjectModelProvider.
Membros necessários | Tipo de membro | Anotaçõ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