Returning Errors
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