pUnk->AddRef();
cd.pUnk = pUnk;
- *pdwCookie = cd.dwCookie = _connections.size();
+ *pdwCookie = cd.dwCookie = _connections.size()+1;
_connections.push_back(cd);
STDMETHODIMP VLCConnectionPoint::Unadvise(DWORD pdwCookie)
{
- if( pdwCookie < _connections.size() )
+ if( (0 < pdwCookie) && (pdwCookie <= _connections.size()) )
{
- CONNECTDATA cd = _connections[pdwCookie];
+ CONNECTDATA cd = _connections[pdwCookie-1];
if( NULL != cd.pUnk )
{
cd.pUnk->Release();
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( NULL == ppv ) return E_POINTER;
+ if( NULL == ppv )
+ return E_POINTER;
if( (IID_IUnknown == riid)
- && (IID_IConnectionPoint == riid) ) {
+ || (IID_IConnectionPoint == riid) )
+ {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IConnectionPointContainer == riid) ) {
+ if( NULL == ppv)
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IConnectionPointContainer == riid) )
+ {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IDataObject == riid) ) {
+ if( NULL == ppv)
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IDataObject == riid) ) {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IObjectSafety == riid) )
+ if( NULL == ppv)
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IObjectSafety == riid) )
{
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IOleControl == riid) )
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IOleControl == riid) )
{
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IOleWindow == riid)
- && (IID_IOleInPlaceActiveObject == riid) )
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IOleWindow == riid)
+ || (IID_IOleInPlaceActiveObject == riid) )
{
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IOleWindow == riid)
- && (IID_IOleInPlaceObject == riid) )
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IOleWindow == riid)
+ || (IID_IOleInPlaceObject == riid) )
{
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IOleObject == riid) )
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IOleObject == riid) )
{
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IPersist == riid)
- && (IID_IPersistPropertyBag == riid) ) {
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IPersist == riid)
+ || (IID_IPersistPropertyBag == riid) )
+ {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IPersist == riid)
- && (IID_IPersistStorage == riid) ) {
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IPersist == riid)
+ || (IID_IPersistStorage == riid) )
+ {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;
if( NULL == ppv )
return E_POINTER;
if( (IID_IUnknown == riid)
- && (IID_IPropertyBag == riid) )
+ || (IID_IPropertyBag == riid) )
{
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IPersist == riid)
- && (IID_IPersistStreamInit == riid) ) {
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IPersist == riid)
+ || (IID_IPersistStreamInit == riid) )
+ {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;
if( NULL == ppv )
return E_INVALIDARG;
- if( (IID_IUnknown == riid) || (IID_IClassFactory == riid) )
+ if( (IID_IUnknown == riid)
+ || (IID_IClassFactory == riid) )
{
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IProvideClassInfo == riid)
- && (IID_IProvideClassInfo2 == riid) ) {
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IProvideClassInfo == riid)
+ || (IID_IProvideClassInfo2 == riid) )
+ {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;
template<class T>
STDMETHODIMP VLCEnum<T>::QueryInterface(REFIID riid, void **ppv)
{
- if( NULL == ppv ) return E_POINTER;
+ if( NULL == ppv )
+ return E_POINTER;
if( (IID_IUnknown == riid)
- && ( _riid == riid) ) {
+ || (_riid == riid) )
+ {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;
}
+ // standalone object
return E_NOINTERFACE;
};
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IPersist == riid)
- && (IID_IViewObject == riid)
- && (IID_IViewObject2 == riid) ) {
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IViewObject == riid)
+ || (IID_IViewObject2 == riid) )
+ {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void **ppv)
{
- if( (NULL != ppv)
- && (IID_IUnknown == riid)
- && (IID_IDispatch == riid)
- && (IID_IVLCControl == riid) ) {
+ if( NULL == ppv )
+ return E_POINTER;
+ if( (IID_IUnknown == riid)
+ || (IID_IDispatch == riid)
+ || (IID_IVLCControl == riid) )
+ {
AddRef();
*ppv = reinterpret_cast<LPVOID>(this);
return NOERROR;