10#ifndef INCLUDED_SHELL_INC_SPSUPP_COMREFCOUNTED_HPP
11#define INCLUDED_SHELL_INC_SPSUPP_COMREFCOUNTED_HPP
16template <
class... Interfaces>
24 ULONG STDMETHODCALLTYPE
AddRef()
override
26 return static_cast<ULONG
>(::InterlockedIncrement(&
m_nRef));
29 ULONG STDMETHODCALLTYPE
Release()
override
32 if (::InterlockedDecrement(&
m_nRef) == 0)
37 return static_cast<ULONG
>(
m_nRef);
ULONG STDMETHODCALLTYPE Release() override
ULONG STDMETHODCALLTYPE AddRef() override