windows-nt/Source/XPSP1/NT/printscan/ui/shellext/inc/cunknown.h
2020-09-26 16:20:57 +08:00

47 lines
946 B
C++

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: unknown.h
//
//--------------------------------------------------------------------------
#ifndef _unknown_h
#define _unknown_h
// Global count of number of active objects
extern LONG g_cRefCount;
#define GLOBAL_REFCOUNT (g_cRefCount)
// CUnknown
typedef struct
{
const IID* piid; // interface ID
LPVOID pvObject; // pointer to the object
} INTERFACES, * LPINTERFACES;
class CUnknown
{
protected:
LONG m_cRefCount;
public:
CUnknown();
STDMETHODIMP HandleQueryInterface(REFIID riid, LPVOID* ppvObject, LPINTERFACES aInterfaces, int cif);
STDMETHODIMP_(ULONG) HandleAddRef();
STDMETHODIMP_(ULONG) HandleRelease();
protected:
virtual ~CUnknown();
};
#endif