STDMETHODIMP_(ULONG) CDispatchImpl::Release() {
    LONG refCount = InterlockedDecrement(&_refCount);
    if( refCount == 0 ) {
		finalRelease();
        delete this;
        return 0;
    } else	
        return refCount;
}
	virtual void release(void)
	{
		finalRelease(this);
	}