60 CComBSTR
name(*rgszNames);
63 if(
name == CComBSTR( L
"set") )
65 else if(
name == CComBSTR( L
"get") )
67 else if(
name == CComBSTR( L
"initoutparam") )
69 else if(
name == CComBSTR( L
"initinoutparam") )
72 ret= DISP_E_UNKNOWNNAME;
82 DISPPARAMS *pDispParams,
87 if( pDispParams->cNamedArgs)
88 return DISP_E_NONAMEDARGS;
95 if( wFlags & DISPATCH_PROPERTYGET && pVarResult)
97 if( FAILED( VariantCopy( pVarResult, &
m_varValue)))
104 if( wFlags & DISPATCH_METHOD)
105 ret=
Set( pDispParams->rgvarg[1], pDispParams->rgvarg[0]);
107 ret= DISP_E_EXCEPTION;
110 if( wFlags & DISPATCH_METHOD)
111 ret=
Get( pVarResult);
113 ret= DISP_E_EXCEPTION;
116 if( wFlags & DISPATCH_METHOD)
119 ret= DISP_E_EXCEPTION;
122 if( wFlags & DISPATCH_METHOD)
123 ret=
InitInOutParam( pDispParams->rgvarg[1], pDispParams->rgvarg[0]);
125 ret= DISP_E_EXCEPTION;
128 ret= DISP_E_MEMBERNOTFOUND;
143 if( SUCCEEDED(
hr= VariantChangeType( &var, &
type, 0,
VT_BSTR)))
249 CComBSTR
name(*rgszNames);
252 if(
name == CComBSTR( L
"0") )
255 ret= DISP_E_UNKNOWNNAME;
265 DISPPARAMS *pDispParams,
271 switch( dispIdMember)
274 if( wFlags & DISPATCH_PROPERTYGET && pVarResult)
276 if( FAILED( VariantCopy( pVarResult, &
m_varValue)))
279 else if( wFlags & DISPATCH_PROPERTYPUT || wFlags & DISPATCH_PROPERTYPUTREF)
282 if( FAILED( VariantCopyInd( &
m_varValue, &pDispParams->rgvarg[0])))
289 if( wFlags & DISPATCH_PROPERTYGET && pVarResult)
291 if( FAILED( VariantCopy( pVarResult, &
m_varValue)))
294 else if( wFlags & DISPATCH_PROPERTYPUT || wFlags & DISPATCH_PROPERTYPUTREF)
297 if( FAILED( VariantCopyInd( &
m_varValue, &pDispParams->rgvarg[0])))
305 ret= DISP_E_MEMBERNOTFOUND;
STDMETHOD() GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) override
STDMETHOD() GetTypeInfoCount(UINT *pctinfo) override
STDMETHOD() Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) override
virtual ~JScriptOutParam()
STDMETHOD() GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) override
STDMETHOD() Get(VARIANT *val) override
STDMETHOD() Set(VARIANT type, VARIANT value) override
STDMETHOD() IsInOutParam(VARIANT_BOOL *flag) override
STDMETHOD() GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) override
STDMETHOD() GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) override
STDMETHOD() GetValue(BSTR *type, VARIANT *value) override
STDMETHOD() InitInOutParam(VARIANT type, VARIANT value) override
STDMETHOD() GetTypeInfoCount(UINT *pctinfo) override
STDMETHOD() IsOutParam(VARIANT_BOOL *flag) override
STDMETHOD() Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) override
STDMETHOD() InitOutParam() override
IJScriptValueObject VARIANT value