File indexing completed on 2024-04-14 05:35:35
0001 /* 0002 SPDX-FileCopyrightText: 2003-2006, Sergey Zorin. All rights reserved. 0003 SPDX-FileCopyrightText: 2018-2020 Michael Reeves reeves.87@gmail.com 0004 SPDX-License-Identifier: BSD-2-Clause 0005 */ 0006 0007 #ifndef class_factory_h 0008 #define class_factory_h 0009 0010 #include <shlobj.h> 0011 #include <shlguid.h> 0012 0013 class CLASS_FACTORY : public IClassFactory { 0014 public: 0015 CLASS_FACTORY(); 0016 virtual ~CLASS_FACTORY(); 0017 0018 //IUnknown members 0019 STDMETHODIMP QueryInterface(REFIID, void**); 0020 STDMETHODIMP_(ULONG) AddRef(); 0021 STDMETHODIMP_(ULONG) Release(); 0022 0023 //ICLASS_FACTORY members 0024 STDMETHODIMP CreateInstance(IUnknown*, REFIID, void**); 0025 STDMETHODIMP LockServer(BOOL); 0026 0027 private: 0028 ULONG _ref_count; 0029 }; 0030 0031 #endif //class_factory_h