Método IAssocHandler::CreateInvoker (shobjidl_core.h)
Recupera un objeto que habilita la invocación del controlador asociado en la selección actual. El invocador incluye la capacidad de comprobar si se admite la selección actual.
Sintaxis
HRESULT CreateInvoker(
[in] IDataObject *pdo,
[out] IAssocHandlerInvoker **ppInvoker
);
Parámetros
[in] pdo
Tipo: IDataObject*
Puntero a un IDataObject que representa el elemento o los elementos seleccionados en los que se va a invocar el controlador. Tenga en cuenta que si solo tiene un solo elemento, IAssocHandler::Invoke podría ser la mejor opción. Consulte Comentarios para obtener más detalles.
[out] ppInvoker
Tipo: IAssocHandlerInvoker**
Cuando este método finaliza, contiene la dirección de un puntero a un objeto IAssocHandlerInvoker . Este objeto se usa para invocar el elemento de menú después de asegurarse de que el controlador asociado admite los elementos seleccionados.
Valor devuelto
Tipo: HRESULT
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Los objetos IAssocHandler se usan normalmente para rellenar un menú Abrir con. Cuando se selecciona uno de esos elementos de menú, se llama a este método para iniciar la aplicación elegida.
Invocar y crearInvoker
El IDataObject usado por estos métodos puede representar un único archivo o puede representar una selección de varios archivos. No todas las aplicaciones admiten la opción de varios archivos. Las aplicaciones que admiten ese escenario pueden imponer otras restricciones, como el número de archivos que se pueden abrir a la vez o combinaciones aceptables de tipos de archivo.Por lo tanto, una aplicación a menudo debe determinar si el controlador admite la selección antes de intentar invocar el controlador. Por ejemplo, una aplicación podría habilitar un elemento de menú solo si sabía que la selección en cuestión era compatible con ese controlador.
Por lo general, es seguro suponer que una aplicación admitirá la invocación en un solo elemento; en esos casos, la aplicación suele llamar a IAssocHandler::Invoke.
Para varios escenarios de selección, la aplicación debe llamar a IAssocHandler::CreateInvoker. Ese método recupera un objeto IAssocHandlerInvoker que permite a la aplicación que realiza la llamada comprobar primero si se admite la selección (SupportsSelection) y, a continuación, invocar el controlador (Invoke).
Se puede llamar a IAssocHandler::Invoke en una selección de varios archivos, pero no se recomienda debido a la gran carga de procesamiento implicada y ninguna garantía de éxito.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shobjidl_core.h (include Shobjidl.h) |