Visual Studio 6.0 ATL项目返回BOOL型数据有关问题

Visual Studio 6.0 ATL项目返回BOOL型数据问题
我在VC6.0的ATL项目中遇到一个奇怪的问题。
我有一个函数是返回BOOL型数据的,但是这个函数在Debug模式下可以正常返回,在Release模式下返回的为空,我百思不得其解,所以只好到论坛上来求助各位。

代码如下:
IDL文件
C/C++ code
[id(1), helpstring("方法GetState")] HRESULT GetState([out,retval] VARIANT_BOOL* var);


.h文件
C/C++ code
STDMETHOD(GetState)(VARIANT_BOOL* var);


.cpp文件
C/C++ code
STDMETHODIMP MyAtl::GetState(VARIANT_BOOL* var)
{
    *val = VARIANT_TRUE;
    return S_OK;
}


JS代码:
JScript code
var obj = new ActiveXObject("MyAtlProject.MyAtl");
var v = obj.GetState();


------解决方案--------------------
在js调用中,返回的应该是VARIANT_TRUE参数~~你再看看,是不是哪里写错了点?