Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

104 lines
2.7 KiB

/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996 Microsoft Corporation
//
// Module Name:
// BaseCmdT.h
//
// Abstract:
// Definition of the CBaseCmdTarget class.
//
// Implementation File:
// BaseCmdT.cpp
//
// Author:
// David Potter (davidp) December 11, 1996
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#ifndef _BASECMDT_H_
#define _BASECMDT_H_
/////////////////////////////////////////////////////////////////////////////
// Include Files
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Forward Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CBaseCmdTarget;
/////////////////////////////////////////////////////////////////////////////
// External Class Declarations
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// CBaseCmdTarget command target
/////////////////////////////////////////////////////////////////////////////
class CBaseCmdTarget : public CCmdTarget
{
DECLARE_DYNCREATE(CBaseCmdTarget)
// Construction
public:
CBaseCmdTarget(void) { m_nReferenceCount = 0; } // protected constructor used by dynamic creation
// Attributes
protected:
ULONG m_nReferenceCount;
public:
ULONG NReferenceCount(void) const { return m_nReferenceCount; }
// Operations
public:
ULONG AddRef(void)
{
return ++m_nReferenceCount;
}
ULONG Release(void)
{
ULONG nReferenceCount;
ASSERT(m_nReferenceCount != 0);
nReferenceCount = --m_nReferenceCount;
if (m_nReferenceCount == 0)
delete this;
return nReferenceCount;
}
// Overrides
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CBaseCmdTarget)
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CBaseCmdTarget)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}; //*** class CBaseCmdTarget
/////////////////////////////////////////////////////////////////////////////
// Global Functions
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Global Variables
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
#endif // _BASECMDT_H_