COleServerDoc::OnExecOleCmd

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

Index