Compartilhar via


Returning Errors

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

IDispatch::Invoke Retorna DISP_E_MEMBERNOTFOUND se uma das seguinte condições ocorre:

  • Um membro ou parâmetro com o especificado DISPID e compatível cArgs não pode ser encontrada, e o parâmetro não é opcional.
  • O membro é uma função void, e o chamador não definido pVarResult para NULL.
  • O membro é uma propriedade Read-only e o chamador defina wFlags DISPATCH_PROPERTYPUT ou DISPATCH_PROPERTYPUTREF.

Se Chamar Localiza o membro, mas revela erros na lista de parâmetro, ele retorna um dos vários outros erros. DISP_E_BAD_PARAMCOUNT significa que o DISPPARAMS estrutura contém um número incorreto de parâmetros para a propriedade ou método. DISP_E_NONAMEDARGS significa que Chamar Recebido nomeado parâmetros, mas eles não são com suporte, o membro.

DISP_E_PARAMNOTFOUND significa que o número correto de parâmetros foi passado, mas o DISPID para um ou mais parâmetros estava incorreto. Se Chamar Não é possível converter um dos parâmetros para o tipo desejado, ele retorna DISP_E_TYPEMISMATCH.

Em estes dois casos, se ela pode identificar qual parâmetro está incorreto, Chamar Define puArgErr Para o índice dentro rgvarg do parâmetro com o erro. De exemplo, se um método automação espera uma referência a um número Double-Precision como um parâmetro, mas recebe uma referência a um inteiro, o parâmetro é forçado.

No entanto, se o método recebe uma data, Chamar Retorna DISP_E_TYPEMISMATCH e define puArgErr Para o índice do inteiro na matriz de parâmetro.

Automação fornece funções para executar padrão conversões de Variant, e essas funções devem ser usadas para consistente operação. DISP_E_TYPEMISMATCH será retornado apenas quando essas funções falharem.

See Also

Reference

DISPPARAMS
IDispatch::Invoke
VARIANT and VARIANTARG

Concepts

Automation