2025-11-28 00:35:46 +09:00

33 lines
762 B
C++

#pragma once
#include "Common.h"
#include "MediaSink.h"
namespace DX11VideoRenderer
{
class CClassFactory : public IClassFactory, private CBase
{
public:
static BOOL IsLocked(void);
CClassFactory(void);
~CClassFactory(void);
// IUnknown
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP QueryInterface(REFIID riid, __RPC__deref_out _Result_nullonfailure_ void** ppvObject);
STDMETHODIMP_(ULONG) Release(void);
// IClassFactory
STDMETHODIMP CreateInstance(_In_opt_ IUnknown* pUnkOuter, _In_ REFIID riid, _COM_Outptr_ void** ppvObject);
STDMETHODIMP LockServer(BOOL bLock);
private:
static volatile long s_lLockCount;
long m_lRefCount;
};
}