Compartilhar via


Aviso do Compilador (nível 1) C4925

'method': o método dispinterface não pode ser chamado a partir do script

As linguagens de script não podem criar um parâmetro 'in' VT_BYREF, só podem criar parâmetros 'out' VT_BYREF.

Outra maneira de resolver esse aviso é não tornar o parâmetro (na definição e implementação) um tipo de ponteiro.

A seguinte amostra gera C4925:

// C4925.cpp
// compile with: /LD /W1
#define _ATL_ATTRIBUTES 1
#include <atlbase.h>
#include <atlcom.h>
[ module(name="Test")];

[ dispinterface, uuid("00000000-0000-0000-0000-000000000001") ]
__interface IDisp {
   [id(9)] void f([in] int*);
};

[ coclass, uuid("00000000-0000-0000-0000-000000000002")  ]
struct CDisp : IDisp {   // C4925
   void f(int*) {}
};