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.
|
|
//---------------------------------------------------------------------------
// Notifier.h : CVDNotifier header file
//
// Copyright (c) 1996 Microsoft Corporation, All Rights Reserved
// Developed by Sheridan Software Systems, Inc.
//---------------------------------------------------------------------------
#ifndef __CVDNOTIFIER__
#define __CVDNOTIFIER__
class CVDNotifier : public IUnknown { protected: // Construction/Destruction
CVDNotifier(); virtual ~CVDNotifier();
protected: // Data members
DWORD m_dwRefCount; // reference count
CVDNotifier * m_pParent; // pointer to CVDNotifier derived parent
CPtrArray m_Children; // pointer array of CVDNotifier derived children
public: //=--------------------------------------------------------------------------=
// IUnknown methods implemented
//
STDMETHOD(QueryInterface)(REFIID riid, void **ppvObjOut); STDMETHOD_(ULONG, AddRef)(void); STDMETHOD_(ULONG, Release)(void); HRESULT JoinFamily (CVDNotifier* pParent); HRESULT LeaveFamily();
CVDNotifier* GetParent () const { return m_pParent; }
virtual HRESULT NotifyBefore(DWORD, ULONG, CURSOR_DBNOTIFYREASON[]); virtual HRESULT NotifyAfter (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]); virtual HRESULT NotifyFail (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]);
protected: // helper functions
HRESULT AddChild (CVDNotifier* pChild); HRESULT DeleteChild(CVDNotifier* pChild);
virtual HRESULT NotifyOKToDo (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]); virtual HRESULT NotifySyncBefore(DWORD, ULONG, CURSOR_DBNOTIFYREASON[]); virtual HRESULT NotifyAboutToDo (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]); virtual HRESULT NotifySyncAfter (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]); virtual HRESULT NotifyDidEvent (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]); virtual HRESULT NotifyCancel (DWORD, ULONG, CURSOR_DBNOTIFYREASON[]); };
#endif //__CVDNOTIFIER__
|