COleServerDoc::OnExecOleCmd

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 COleServerDocMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;COleCmdUI

Index