50 lines
1.2 KiB
C
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 {CONTEXTEXTENSION = 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_
|