HRESULT __stdcall CoCOMServer::ahkgetvar(/*in*/VARIANT name,/*[in,optional]*/ VARIANT getVar,/*out*/VARIANT *result) { USES_CONVERSION; if (result==NULL) return ERROR_INVALID_PARAMETER; //USES_CONVERSION; TCHAR buf[MAX_INTEGER_SIZE]; Var *var; ExprTokenType aToken ; var = g_script.FindVar(name.vt == VT_BSTR ? OLE2T(name.bstrVal) : Variant2T(name,buf)) ; var->TokenToContents(aToken) ; VariantInit(result); // CComVariant b ; VARIANT b ; TokenToVariant(aToken, b); return VariantCopy(result, &b) ; // return S_OK ; // return b.Detach(result); }