1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
/*
SPDX-FileCopyrightText: 2003-2006, Sergey Zorin. All rights reserved.
SPDX-FileCopyrightText: 2018-2020 Michael Reeves reeves.87@gmail.com
SPDX-License-Identifier: BSD-2-Clause
*/
#ifndef class_factory_h
#define class_factory_h
#include <shlobj.h>
#include <shlguid.h>
class CLASS_FACTORY : public IClassFactory {
public:
CLASS_FACTORY();
virtual ~CLASS_FACTORY();
//IUnknown members
STDMETHODIMP QueryInterface(REFIID, void**);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
//ICLASS_FACTORY members
STDMETHODIMP CreateInstance(IUnknown*, REFIID, void**);
STDMETHODIMP LockServer(BOOL);
private:
ULONG _ref_count;
};
#endif //class_factory_h
|