STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv) {*ppv=0; if (IsEqualIID(riid, IID_IUnknown)) {*ppv=this; AddRef(); return S_OK;} return E_NOINTERFACE;}
STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv) { *ppv = NULL;  if (IsEqualIID(riid, _uuid_base) || IsEqualIID(riid, IID_IUnknown)) {*ppv=static_cast<BASE*>(this); this->AddRef(); return S_OK;}  return E_NOINTERFACE; }
	STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv) {*ppv=0;	 if (IsEqualIID(riid, IID_IUnknown)) {*ppv=this; AddRef(); return S_OK;}	 return E_NOINTERFACE;}