windows-nt/Source/XPSP1/NT/admin/activec/samples/sdksamples/nameext/basesnap.h
2020-09-26 16:20:57 +08:00

50 lines
1.2 KiB
C++

//==============================================================;
//
// This source code is only intended as a supplement to existing Microsoft documentation.
//
//
//
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
//
//
//
//==============================================================;
#ifndef _BASESNAP_H_
#define _BASESNAP_H_
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppvObj);
STDAPI DllCanUnloadNow(void);
ULONG g_uObjects = 0;
ULONG g_uSrvLock = 0;
class CClassFactory : public IClassFactory
{
private:
ULONG m_cref;
public:
enum FACTORY_TYPE {NAMESPACEEXTENSION = 0, ABOUT = 1};
CClassFactory(FACTORY_TYPE factoryType);
~CClassFactory();
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
STDMETHODIMP LockServer(BOOL);
private:
FACTORY_TYPE m_factoryType;
};
#endif _BASESNAP_H_