Método IAssocHandler::CreateInvoker (shobjidl_core.h)
Recupera um objeto que habilita a invocação do manipulador associado na seleção atual. O invocador inclui a capacidade de verificar se a seleção atual tem suporte.
Sintaxe
HRESULT CreateInvoker(
[in] IDataObject *pdo,
[out] IAssocHandlerInvoker **ppInvoker
);
Parâmetros
[in] pdo
Tipo: IDataObject*
Um ponteiro para um IDataObject que representa o item ou os itens selecionados nos quais invocar o manipulador. Observe que, se você tiver apenas um único item, IAssocHandler::Invoke poderá ser a melhor opção. Consulte Comentários para obter mais detalhes.
[out] ppInvoker
Tipo: IAssocHandlerInvoker**
Quando esse método retorna, contém o endereço de um ponteiro para um objeto IAssocHandlerInvoker . Esse objeto é usado para invocar o item de menu depois de garantir que os itens selecionados sejam compatíveis com o manipulador associado.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Objetos IAssocHandler normalmente são usados para preencher um menu Abrir com . Quando um desses itens de menu é selecionado, esse método é chamado para iniciar o aplicativo escolhido.
Invocar e criarInvoker
O IDataObject usado por esses métodos pode representar um único arquivo ou pode representar uma seleção de vários arquivos. Nem todos os aplicativos dão suporte à opção de vários arquivos. Esses aplicativos que dão suporte a esse cenário podem impor outras restrições, como o número de arquivos que podem ser abertos de uma só vez ou combinações aceitáveis de tipos de arquivo.Portanto, um aplicativo geralmente deve determinar se o manipulador dá suporte à seleção antes de tentar invocar o manipulador. Por exemplo, um aplicativo só poderá habilitar um item de menu se souber que a seleção em questão era compatível com esse manipulador.
Geralmente, é seguro supor que um aplicativo dará suporte à invocação em um único item; nesses casos, o aplicativo normalmente chama IAssocHandler::Invoke.
Para vários cenários de seleção, o aplicativo deve chamar IAssocHandler::CreateInvoker. Esse método recupera um objeto IAssocHandlerInvoker que permite que o aplicativo de chamada primeiro marcar se a seleção tem suporte (SupportsSelection) e, em seguida, invocar o manipulador (Invoke).
IAssocHandler::Invoke pode ser chamado em uma seleção de vários arquivos, mas não é recomendado devido à grande carga de processamento envolvida e nenhuma garantia de êxito.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shobjidl_core.h (inclua Shobjidl.h) |