HRESULT OnExecOleCmd ( const GUID * pGroup, DWORD nCmdID, DWORD nCmdExecOut, VARIANTARG * pvaIn, VARIANTARG * pvaOut );
Valor de retorno
Retorna S_OK se bem-sucedido; caso contrário, um dos seguintes códigos de erro:
| Valor | Descrição |
| E_UNEXPECTED | Ocorreu um erro inesperado |
| E_FAIL | Ocorreu um erro |
| E_NOTIMPL | Indica o MFC propriamente dito deve tentar converter e distribuir o comando |
| OLECMDERR_E_UNKNOWNGROUP | pGroup é não -NULL mas não especifica um grupo de comando reconhecido |
| OLECMDERR_E_NOTSUPPORTED | nCmdID não é reconhecido como um comando válido no grupo pGroup |
| OLECMDERR_DISABLED | O comando identificado por nCmdID está desativado e não pode ser executado |
| OLECMDERR_NOHELP | Chamador solicitou ajuda sobre o comando identificado por nCmdID mas nenhuma ajuda está disponível |
| OLECMDERR_CANCELED | O usuário cancelou a execução |
Parâmetros
pGroup
Um ponteiro para uma GUID que identifica um conjunto de comandos. Pode ser NULL para indicar o grupo de comando padrão.
nCmdID
O comando para executar. Deve estar no grupo identificado por pGroup.
nCmdExecOut
A forma como o objeto deve executar o comando, um ou mais dos seguintes valores da enumeração OLECMDEXECOPT:
OLECMDEXECOPT_DODEFAULT
OLECMDEXECOPT_PROMPTUSER
OLECMDEXECOPT_DONTPROMPTUSER
OLECMDEXECOPT_SHOWHELP
pvaIn
Ponteiro para uma VARIANTARG com argumentos de entrada para o comando. Pode ser NULL.
pvaOut
Ponteiro para uma VARIANTARG para receber a saída retornam valores do comando. Pode ser NULL.
Observações
A estrutura chama esta função para executar um comando especificado ou exibir a ajuda para o comando.
COleCmdUI pode ser usado para ativar, atualizar e definir outras propriedades de DocObject comandos da interface de usuário. Depois que os comandos são inicializados, você pode executá-los com OnExecOleCmd.
A estrutura chama a função antes de tentar converter e distribuir um comando de documento OLE. Você não precisa substituir esta função para lidar com comandos de documento OLE padrão, mas você deve fornecer uma substituição para esta função se você deseja manipular seus próprios comandos personalizados ou identificador comandos que aceitam parâmetros ou retornam resultados.
A maioria dos comandos não levam argumentos ou valores de retorno. Para a maioria dos comandos o chamador pode transmitir NULLs para pvaIn e pvaOut. Para comandos que esperam valores de entrada, o chamador pode declarar e inicializar uma variável VARIANTARG e passar um ponteiro para a variável no pvaIn. Para os comandos que exigem um único valor, o argumento pode ser armazenado diretamente no VARIANTARG e passado para a função. Múltiplo argumentos devem ser empacotados dentro VARIANTARG usando um dos tipos suportados (por exemplo, IDispatch e SAFEARRAY ).
Da mesma forma, se um comando retorna argumentos o chamador deverá declarar um VARIANTARG, inicializá-lo para VT_EMPTYe passar seu endereço em pvaOut. Se um comando retorna um único valor, o objeto pode armazenar esse valor diretamente em pvaOut. Vários valores de saída devem ser empacotados de alguma maneira apropriada para o VARIANTARG.
A implementação de classe base desta função vai andar as estruturas OLE_COMMAND_MAP associadas com o destino de comando e tente enviar o comando para um manipulador apropriado. A implementação de classe base funciona apenas com comandos que não aceitar argumentos ou valores de retorno. Caso você precise manipular comandos que aceitar argumentos ou retornam valores, você deve substituir essa função e trabalhar com os parâmetros pvaIn e pvaOut -se.
Visão geral de COleServerDoc | Membros de classe | Gráfico de hierarquia
Co&nsulte tambémnbsp;COleCmdUI