HRESULT OnExecOleCmd ( const GUID * pGroup, DWORD nCmdID, DWORD nCmdExecOut, VARIANTARG * pvaIn, VARIANTARG * pvaOut );
Valor devuelto
Devuelve S_OK si tiene éxito; caso contrario, uno de los siguientes códigos de error:
| Valor | Descripción |
| E_UNEXPECTED | Error inesperado |
| E_FAIL | Error de |
| E_NOTIMPL | Indica MFC sí debería intentar traducir y enviar el comando |
| OLECMDERR_E_UNKNOWNGROUP | pGroup es no -NULL pero no especifica un grupo comando reconocido |
| OLECMDERR_E_NOTSUPPORTED | nCmdID no se reconoce como un comando válido en el grupo pGroup |
| OLECMDERR_DISABLED | El comando identificado por nCmdID está deshabilitado y no se puede ejecutar |
| OLECMDERR_NOHELP | Llamador pidieron ayuda sobre el comando identificado por nCmdID pero no existe ayuda |
| OLECMDERR_CANCELED | Usuario ha cancelado la ejecución |
Parámetros
pGroup
Un puntero a un GUID que identifica un conjunto de comandos. Puede ser NULL para indicar el grupo de comando predeterminado.
nCmdID
El comando ejecutar. Debe estar en el grupo identificado por pGroup.
nCmdExecOut
La forma del objeto debe ejecutar el comando, uno o más de los siguientes valores de la enumeración de OLECMDEXECOPT:
OLECMDEXECOPT_DODEFAULT
OLECMDEXECOPT_PROMPTUSER
OLECMDEXECOPT_DONTPROMPTUSER
OLECMDEXECOPT_SHOWHELP
pvaIn
Puntero a un VARIANTARG que contiene los argumentos de entrada para el comando. Puede ser nulo.
pvaOut
Puntero a un VARIANTARG a recibir el resultado devolver valores desde el comando. Puede ser nulo.
Observaciones
El marco llama a esta función para ejecutar un comando especificado o mostrar la ayuda para el comando.
COleCmdUI puede utilizarse para activar, actualizar y establecer otras propiedades de DocObject comandos de interfaz de usuario. Después se inicializan los comandos, puede ejecutar con OnExecOleCmd.
El marco llama a la función antes de intentar traducir y enviar un comando de documento OLE. No es necesario reemplazar esta función para manejar los comandos estándar de documento OLE, pero debe proporcionar un reemplazo para esta función si desea manejar sus propios comandos personalizados o manejar comandos que aceptan parámetros o devuelven resultados.
La mayoría de los comandos no toman argumentos o valores de retorno. Para la mayoría de comandos el llamador puede pasar NULLs para pvaIn y pvaOut. Para los comandos que se esperan valores de entrada, el llamador puede declarar inicializar una variable VARIANTARG y pase un puntero a la variable en pvaIn. Para comandos que requieren un valor único, el argumento puede ser almacenado directamente en el VARIANTARG y pasa a la función. Varios argumentos deben ser envasados dentro de la VARIANTARG utilizando uno de los tipos admitidos (como IDispatch y SAFEARRAY ).
Del mismo modo, si un comando devuelve argumentos el llamador se espera declarar un VARIANTARG, inicializar a VT_EMPTYy pasar su dirección en pvaOut. Si un comando devuelve un único valor, el objeto puede almacenar el valor directamente en pvaOut. Varios valores de salida deben ser envasados en cierto modo apropiado para el VARIANTARG.
La implementación de la clase base de esta función será caminar las estructuras OLE_COMMAND_MAP asociadas con el destino de comando e intentar enviar el comando a un controlador apropiado. La implementación de la clase base sólo funciona con comandos que no aceptan argumentos o valores de retorno. Si necesita gestionar comandos que aceptan argumentos o valores de retorno, debe reemplazar esta función y trabajar con los parámetros pvaIn y pvaOut usted mismo.
I&ntroducción a COleServerDoc |nbsp; Miembros de clase | Diagrama de jerarquía
Vea tambié&nnbsp;COleCmdUI